【发布时间】:2010-11-04 09:36:38
【问题描述】:
我有一个这样的模板类:
template<class T>
class List
{
private:
struct node
{
T value;
node *next, *prev;
};
}
当使用 T = myClass* 创建此 List 类的实例时,我没有问题,因为 value 将是一个指针,但如果它是一个对象,则创建节点实例会导致“没有适当的默认构造函数可用”错误,如果这个类没有默认构造函数。
我可以通过将 T 值更改为 T * 值来解决此问题,但我需要在列表中保存这些值的副本,这样如果它们被从列表中删除,它们在此处仍然有效。
解决这个问题的正确方法是什么?
【问题讨论】:
标签: c++ oop class templates constructor