C++中初始化构造
例如无名结构成员:C++中初始化构造
class A
{
public:
A();
private:
struct {int x, y; } position_;
};
我的问题是:如何初始化类的构造函数体前position_.x
和position_.y
?像:
A::A() //init position_.x and position_.y here
{
}
只需使用普通的构造函数初始化列表:
可以初始化它像任何数据成员:在构造函数初始化列表:
A() : position_{1,2} {}
在申报要点:
struct {int x, y;} position_{1, 2};
或两者。
1假设你有C++ 11或更高
我不能使用C++ 11功能来实现我的目标吗? –
两者都需要C++ 11 +(C++ 03中的mem初始化程序中不使用大括号)。 –
@ T.C.Ah是的,好点。 – juanchopanza
有在该代码是完全无关的问题至少两个语法错误。 –