1
我有一個類,它看起來像這樣,返回一個空的智能指針
class A
{
std::shared_ptr<Type> ret;
public:
A()
{
ret=std::shared_ptr<Type>(new Type);
}
std::shared_ptr<Type> GetTypeA(){return ret;}
A (const A&a)
{
....
ret=a.ret;
}
};
class Type
{
A aa;
public:
Type(A*a):aa(*a){}
};
某處在客戶端代碼,我這樣調用
void func(A*pA)
{
...
std::shared_ptr<Type> spT=pA->GetTypeA();
...
}
調試方法GetTypeA我表明spT=empty
後電話。但在pA
內,ret
值不爲空。
發佈[MCVE](http://stackoverflow.com/help/mcve) –
「class A」的副本構造函數在哪裏? – Jagannath
@Jagannath我更新了我的帖子。請重新閱讀。 –