【发布时间】:2015-08-06 02:43:46
【问题描述】:
我的构造函数有问题,我想做这样的事情:
A<int>* first = new B<int>
A<int> *second;
second= new B<int>(*A);
我尝试在参数列表指针、引用和值中使用,但没有任何效果,我不知道为什么。这是我不工作的构造函数:
template <class T>
B<T>::B(B<T> other)
它适用于const A<T>& 谢谢,
如果可以的话,还有一件事。我必须在此构造函数中访问 B 类私有类字段。如果我只有其他是 A 类。我可以在其他时候这样做吗?
【问题讨论】:
-
A<T>和B<T>有什么关系? -
该代码无法编译。
-
A类是B的基类,是公共继承
-
顺便说一句:
new B<int>缺少;和B<T> other应该是const B<T>& other。 -
仍然:错误 C2664:'B
::B(B &)':无法将参数 1 从 'A ' 转换为 'B &'