VC++2008 continue 指定

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
文法えらー

VC++2008 continue 指定

#1

投稿記事 by 文法えらー » 12年前

VC++2008 64bit 環境でプログラミングしているものです.
continue文は多重ループ時にラベルを用いて何処からcontinueする指定出来るらしいのですが・・・.

コード:

for(int c = 0; c<10; c++){
    TEST_LOOP: for(int b = 0; b<10; b++){
        for(int a = 0; a<10; a++){
            puts("test");
            if(a == 5) continue TEST_LOOP;
        }
    }
}
以上のようなプログラムをコンパイルすると 以下のように文法エラーを指摘されます.
どうすれば使えますか?

error C2146: 構文エラー : ';' が、識別子 'TEST_LOOP' の前に必要です。
error C2065: 'TEST_LOOP' : 定義されていない識別子です。

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

Re: VC++2008 continue 指定

#2

投稿記事 by YuO » 12年前

文法えらー さんが書きました:VC++2008 64bit 環境でプログラミングしているものです.
continue文は多重ループ時にラベルを用いて何処からcontinueする指定出来るらしいのですが・・・.
それはJavaの話ではないですか。
C++にそのような機能はありませんし,MSDNにもそのような記述はありません。

代替するなら,continue対象としたい繰り返し文の複文の末尾にラベルと;を書き,gotoで飛ばします。
以下,部分的に書き換えた例です。

コード:

for(int c = 0; c<10; c++){
    for(int b = 0; b<10; b++){
        for(int a = 0; a<10; a++){
            puts("test");
            if(a == 5) goto TEST_LOOP;
        }
    TEST_LOOP: 
        ;
    }
}

オカピーα
記事: 120
登録日時: 13年前

Re: VC++2008 continue 指定

#3

投稿記事 by オカピーα » 12年前

文法えらー さんが書きました:VC++2008 64bit 環境でプログラミングしているものです.
continue文は多重ループ時にラベルを用いて何処からcontinueする指定出来るらしいのですが・・・.

コード:

for(int c = 0; c<10; c++){
    TEST_LOOP: for(int b = 0; b<10; b++){
        for(int a = 0; a<10; a++){
            puts("test");
            if(a == 5) continue TEST_LOOP;
        }
    }
}
以上のようなプログラムをコンパイルすると 以下のように文法エラーを指摘されます.
どうすれば使えますか?

error C2146: 構文エラー : ';' が、識別子 'TEST_LOOP' の前に必要です。
error C2065: 'TEST_LOOP' : 定義されていない識別子です。

error C2065: 'TEST_LOOP' : 定義されていない識別子です。

このエラーは単に「TEST_LOOP」が定義されていないというだけの話です。
cppファイルでもhファイルでも何でも良いのでTEST_LOOPを定義しましょう。
#defineがおすすめです。
C,C++,C#,これらを極めることを「3C政策」と言う

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: VC++2008 continue 指定

#4

投稿記事 by softya(ソフト屋) » 12年前

ラベル付き continueはC++には無いです。
javaなどにはあります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

文法えらー

Re: VC++2008 continue 指定

#5

投稿記事 by 文法えらー » 12年前

回答有難うございました.
C,C++では使えないんですかね・・・.
YuOさんが示したようにGOTO文で代用することにします.

non
記事: 1097
登録日時: 14年前

Re: VC++2008 continue 指定

#6

投稿記事 by non » 12年前

GOTOを使わなければいけない理由はなんですか?
non

閉鎖

“C言語何でも質問掲示板” へ戻る