2

私はこのC++ 11コードを持っています:

using swallow = int[];

しかし、MSVS2013 プレビュー バーフ:

エラー C2143: 構文エラー: ';' がありません 「=」の前

だから私は試しました

typedef int[] swallow;

しかし、それは私を得ました:

警告 C4091: 'typedef': 変数が宣言されていない場合、'int' の左側は無視されます

typedefだから私は覚えていないので、物事を逆にしようとしました(したがって、理由usingはとても素晴らしいです):

typedef swallow int[];

そして得た:

m:\development\source\ambrosia\libambrosia\Ambrosia/utility.h++(33): エラー C2144: 構文エラー: 'int' の前に ';' を付ける必要があります

MSVS2013 にはすでにがっかりしています。MS コンパイラがこの単純なコードを理解できるようにするにはどうすればよいでしょうか?

4

1 に答える 1

6

typdef宣言であり、宣言と同じ構文に従います。

extern int a[];

typedef int b[];

b(は不完全な型であり、a宣言されているだけで定義されていないことに注意してください。)

于 2013-06-26T21:07:19.407 に答える