#include <stdio.h>
typedef struct test{
int n;
struct next{
int x;
}level[];
}test;
int main()
{
printf(" %d \n", sizeof(struct next));
return 0;
}
私はこのようにtest.cというコードを持っています。 これはcソースコードからコピーされます。 Gccでコンパイルすると、成功します。 私は、G ++でコンパイルする場合でも、コンパイラは文句を言う:sizeof struct gccは正常にコンパイルされましたが、g ++のコンパイルに失敗しました
test.c: In function ‘int main()’:
test.c:12:37: error: invalid application of ‘sizeof’ to incomplete type ‘main()::next’
printf(" %d \n", sizeof(struct next));
私は長い間、ない結果を検索しています。 ご協力いただきありがとうございます。
あなたの質問は何ですか? – juanchopanza
G ++はC++のフロントエンドです。 C++コードが必要な場合は、正しい拡張子と正しい文法を使用してください。 CとC++は**異なる**言語です(あなたのコードはCのように見えますが、C++と互換性はありません)。 – Olaf
なぜこのCコードはC++としてコンパイルされないのですか? – NathanOliver