Kor*_*idu 9 c++ visual-studio c++11
以下代码无法使用Visual Studio 2013进行编译,但应该:
class A
{
A() :m_array{ 0, 1, 2 } {} // error C2536: 'A::A::m_array' : cannot specify explicit initializer for arrays
private:
int m_array[3];
};
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅错误报告
有哪些可行的解决方法?
mas*_*oud 11
作为评论,您可以尝试此解决方法.
class A
{
A() : m_array ({ 0, 1, 2 }) {}
private:
std::array<int, 3> m_array;
};
Run Code Online (Sandbox Code Playgroud)
似乎VS2013 std::array
很好地为构造函数创建了初始化列表,你可以在构造函数的初始化器中初始化它.您编写的代码有效,gcc和clang都支持它.VS2013缺乏.
归档时间: |
|
查看次数: |
13970 次 |
最近记录: |