int main() { auto k = int();//ok auto i = unsigned int();//gcc error return 0; }
上面auto i这一行用gcc编译,得到错误error: expected primary-expression before “unsigned”,vc编译没有问题。为什么,应该怎么写才是完全正确的呢?
解决方案
20
这样呢:
auto i = unsigned();
auto i = unsigned();
20
应该是msvc的扩展
typedef unsigned short T; auto u = T();
这样用就OK了