BohYoh.comトップページへ
C & C++ FAQ
目次

C C++ 宣言と文とを混在することはできますか。

 ブロック内で、宣言(C++では宣言文と呼ばれます)と文の順序は、次のように規定されています。

C
 ブロック内では、宣言は、必ず文より先になければなりません。したがって、

int x = 3; int a = 4; x = 2 * a; int y = x + 3; /* エラー:文の後に宣言をおくことはできない */

は、エラーとなります。

C99 C++
 C99およびC++では、宣言(C++では宣言文と呼ばれます)と文の順序に制限はありません。したがって、上記のプログラムはエラーとなりません。


■ 根拠 ■
標準C §6.6.2 Compound satement, or block
標準C99 §6.8.2 Compound satement
標準C++ §6.3 Compound satement or block

戻る

BohYoh.comロゴ