2016-09-25 88 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

感謝您的答案。 –

相關問題