说,我有一个A类
现在做的时候
A a(A());
到底发生了什么?
最佳答案
尽管出现,A a(A());
不是对象定义。相反,它声明了一个名为 a
的函数,该函数返回一个 A
并接受一个指向函数的指针,该函数不接受任何内容并返回一个 A
。
如果你想要一个对象定义,你必须添加另一对括号:
A a((A()));
关于c++ - 为什么在这种情况下没有调用复制构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10803449/