2017-03-06 98 views
1

我想在C++中使用constexpr,但得到編譯錯誤:'constexpr'沒有在此範圍內聲明。編譯錯誤在C++中使用constexpr

我都在使用GNU GCC編譯器代碼塊,並在Visual Studio 2013年嘗試

代碼:

#include <iostream> 

int main() 
{ 
    constexpr double ft2m = 0.3048; 
    std::cout << ft2m; 
} 

可能是什麼問題呢?

+0

哪個版本的GCC? –

+0

此外,[部分複製](http://stackoverflow.com/q/20264644/440558)(關於VS2013)。 –

+0

我猜測你需要改變你的編譯器設置,以便它能夠針對C++ 11標準進行編譯。 –

回答

2

你使用的是哪個版本的gcc?

您可能需要在-std = C++ 11到命令行

2

的問題是,MSVC2013不支持constexpr。它並不旨在實現C++ 11標準。

第一個版本是MSVC2015。

您的constexpr語句在語法上是正確的C++ 11。確保你有一個符合該標準的GCC版本。