例如無名結構成員:C++中初始化構造
class A
{
public:
A();
private:
struct {int x, y; } position_;
};
我的問題是:如何初始化類的構造函數體前position_.x
和position_.y
?像:
A::A() //init position_.x and position_.y here
{
}
例如無名結構成員: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
有在該代碼是完全無關的問題至少兩個語法錯誤。 –