2016-09-25 70 views
-2

为什么当我尝试在Visual Studio中输入const const int num = 10;并且允许它在Eclipse中不允许时。Visual Studio为什么在C++中允许const const int但不在eclipse中

我只是好奇为什么Visual Studio可以允许这个或者当在Visual Studio中有const const int num = 10 ;时有任何影响。

而我只是使用Visual Studio 2012和Eclipse Luna进行测试。

+4

你的意思是*编辑器*“允许它”,或者*编译器*? –

+1

你想用'const const'实现什么? –

+0

编辑器和编译器都允许以及如果正常输入int int num = 10;是不允许的,但有趣的是它可以编译并且没有错误,但在Visual Studio 2012中为const const int num = 10提供警告; –

回答

2

陈述const const int num = 10;不合格,编译器应该发出错误。

您可以控制Visual Studio的行为。默认情况下,当多次使用相同类型限定符时,它会发出警告C4114。使用/Za编译器开关产生错误C2289代替:

类型声明或定义使用类型限定符(常量,易挥发,签名,或无符号的)一次以上。这会导致Microsoft扩展(/ Ze)和ANSI兼容性(/ Za)下的错误的警告。

+0

感谢您的答案。 –

相关问题