C++11 为什么gcc不';t识别初始化,例如;无符号整数();对于C++;11?
“自动i”行导致gcc重新打印eror:C++11 为什么gcc不';t识别初始化,例如;无符号整数();对于C++;11?,c++11,gcc,visual-c++,initialization,unsigned,C++11,Gcc,Visual C++,Initialization,Unsigned,“自动i”行导致gcc重新打印eror: int main() { auto k = int();//ok auto i = unsigned int();//gcc error return 0; } 而VC在我的代码上没有问题。这是为什么,这是gcc的一个缺陷,还是应该使用一些额外的帕伦斯 谢谢。您可以使用无符号而不是无符号整数。但是为什么VS和gcc会有不同是一个很好的问题。Clang也不喜欢它。你可以使用myint=unsigned int使它与一起工作然后自动
int main()
{
auto k = int();//ok
auto i = unsigned int();//gcc error
return 0;
}
而VC在我的代码上没有问题。这是为什么,这是gcc的一个缺陷,还是应该使用一些额外的帕伦斯
谢谢。您可以使用
无符号
而不是无符号整数
。但是为什么VS和gcc会有不同是一个很好的问题。Clang也不喜欢它。你可以使用myint=unsigned int使它与一起工作代码>然后自动i=myint()代码>。但我仍然很想知道为什么gcc和clang会为此报告错误。这是否适用于unsigned short()
?它只是受影响的无符号
和int
还是像auto d=long double()这样的多字数字?
error: expected primary-expression before 'unsigned'