我有这个C ++ 11代码:
using swallow = int[];
但MSVS2013上预览了barfs:
错误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编译器能理解这个简单的代码?
答案 0 :(得分:6)
typdef
是一个声明,遵循与声明相同的语法:
extern int a[];
typedef int b[];
(请注意b
是一个不完整的类型,a
只是声明,未定义。)