私は、実際に同じものへの参照であるかもしれないし、そうでないかもしれない2つの参照を取るParentクラスを持っています。それらが同じである。この場合、私は私の子クラスの初期化リスト内のシーケンスポイント警告が表示されます:初期化リストのシーケンスポイントの警告
class A
{
public:
A(int) {}
private:
A() {}
};
class Parent
{
public:
Parent(A&, A&) {}
};
class Child : public Parent
{
public:
Child() :
Parent(
*(_A = new A(0)),
*(_A)) //Warning on this line
{
}
private:
A *_A;
};
int main(int argc, char** argv)
{
return 0;
}
私はそのライン上のデリファレンスをした後に発生することが保証されていないからだと推測していますメモリが割り当てられています。それにもかかわらず、私の質問は、親やAのどちらにも変更を加えることなく、この周りには何かありますか?