整数向量的initializer_list语法

sui*_*kan 0 c++ syntax initializer-list c++11

为了理解如何使用initializer_list,我正在编写一个自己的构造函数来填充整数向量(这里的解释):

#include <vector>

class X
{
  std::vector< int > *vec;
public:
  X(std::initializer_list<int>);
};

X(std::initializer_list<int> values)
{
  this->vec = new std::vector<int>(values);
}
Run Code Online (Sandbox Code Playgroud)

这条线

X(std::initializer_list<int> values)
Run Code Online (Sandbox Code Playgroud)

我的g ++ -std = c ++ 11:在值之前无效的声明被拒绝.为什么?

sui*_*kan 5

正如博佩森所注意到的:

X(std::initializer_list<int> values)
Run Code Online (Sandbox Code Playgroud)

必须写

X::X(std::initializer_list<int> values)
Run Code Online (Sandbox Code Playgroud)