鉴于下面的代码,为什么我会得到关于A的析构函数是私有的错误?显然它是私有的,但我不明白为什么以这种方式初始化B的对象实例会导致调用A的析构函数.
对于任何拼写错误道歉,我正在从非联网系统重新创建内存中的代码,并且没有编译器.
class A
{
public:
A(int val) : x(val) {}
private:
int x;
~A() {}
};
class B
{
public:
B() : aInstance() {}
private:
A aInstance;
};
int main()
{
B b;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
776 次 |
| 最近记录: |