誰もが知っているように、C標準では、関数本体の先頭に変数を宣言する必要があります。MSVCとGCC:関数内の変数宣言
C++では、使用する直前、どこでも宣言できます。
MSVCは、.cおよび.cppソースファイルで作業する場合、標準に従います。
GCCは、ソースファイルが、私はこれによるMSVCでGCCでうまくコンパイルしていない膨大な数の.cファイルを持っている
.cの場合でも、関数本体のどこにでも変数を宣言することができます。私はそれらすべてを.cppにリネームすることはできません。
MSVCコンパイラに.cファイルをC++のものとして扱わせる簡単な方法はありますか?
C(特にC99)でないことに注意してくださいC++のサブセットであるため、動作しない可能性があります。 –
これは関数本体の上部にありません。ブロックの上部にあります(ブロック内にあります)。以下のスニペットは有効なCです: 'int main(void){int a; {int top_of_block; top_of_block = 42; } a = 42;返信0;} ' – pmg
私は正直な質問を落胆させたくありませんが、皆さんが知っているようにあなたの質問を始めるには、C標準(特にC89とC99)にはあまり馴染みがないようです。 –