class对象等于带有模板的类指针对象

时间:2015-07-08 15:22:50

标签: c++ templates

我不知道我的C ++课程的问题。

template <typename T> class Array {...};
void main(int argc, char* argv[]) {

Array<int> *a1 = new Array<int>();
Array<int> a2();
a2 = *a1; // <--  
}

在注意到的行(&lt; - )会发生什么? a)调用a2拷贝构造函数。 b)a2的地址等于指针a1的地址。 c)调用a2的复制赋值运算符 d)编译错误

证明你的答案。

1 个答案:

答案 0 :(得分:1)

d)编译错误,因为你有令人烦恼的解析:

Array<int> a2(); // Declaration of function which takes no argument and return Array<int>