我想在C++中使用constexpr,但得到編譯錯誤:'constexpr'沒有在此範圍內聲明。編譯錯誤在C++中使用constexpr
我都在使用GNU GCC編譯器代碼塊,並在Visual Studio 2013年嘗試
代碼:
#include <iostream>
int main()
{
constexpr double ft2m = 0.3048;
std::cout << ft2m;
}
可能是什麼問題呢?
我想在C++中使用constexpr,但得到編譯錯誤:'constexpr'沒有在此範圍內聲明。編譯錯誤在C++中使用constexpr
我都在使用GNU GCC編譯器代碼塊,並在Visual Studio 2013年嘗試
代碼:
#include <iostream>
int main()
{
constexpr double ft2m = 0.3048;
std::cout << ft2m;
}
可能是什麼問題呢?
你使用的是哪個版本的gcc?
您可能需要在-std = C++ 11到命令行
的問題是,MSVC2013不支持constexpr
。它並不旨在實現C++ 11標準。
第一個版本是MSVC2015。
您的constexpr
語句在語法上是正確的C++ 11。確保你有一個符合該標準的GCC版本。
哪個版本的GCC? –
此外,[部分複製](http://stackoverflow.com/q/20264644/440558)(關於VS2013)。 –
我猜測你需要改變你的編譯器設置,以便它能夠針對C++ 11標準進行編譯。 –