當使用G ++(與鏗鏘++我最後一次檢查),我可以在一個頭寫這篇文章,並期望它的工作:Visual Studio 2013 CTP是否支持非整型類型的類靜態常量初始值設定項?
struct test
{
static constexpr float MEANING_OF_LIFE = 42.0f;
};
不過的Visual Studio 2013 CTP需要這個(和它編譯沒有警告或錯誤):
struct test
{
static const float MEANING_OF_LIFE;
};
const float test::MEANING_OF_LIFE = 42.0f; // <- In the header, not a .cpp file.
這是Visual Studio的缺陷還是我做錯了什麼?
constexpr與const有很大的不同。如果你在g ++/clang中使用「const」,他們不應該允許它。 – heinrichj