为什么gcc不认"unsigned int()"这样写初始化

C++语言 码拜 9年前 (2016-04-06) 1375次浏览
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();

20

应该是msvc的扩展

typedef unsigned short T;
auto u = T();

这样用就OK了


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明为什么gcc不认"unsigned int()"这样写初始化
喜欢 (0)
[1034331897@qq.com]
分享 (0)