我的编译器用这个我完全不理解的实例化错误折磨我。
我有一个模板类listItem:
如果我试图使用非原始数据类型(例如)初始化它的对象:
我的编译器总是抛出这个错误... 这个错误不会出现在原始类型中。
编译器输出如下:
我不想打扰你,但我也不想花两个小时在一些愚蠢的事情上......所以感谢你所有的回复。
我有一个模板类listItem:
template <class T>
class tListItem{
public:
tListItem(T t){tData=t; next=0;}
tListItem *next;
T data(){return tData;}
private:
T tData;
};
如果我试图使用非原始数据类型(例如)初始化它的对象:
sPacket zomg("whaever",1);
tListItem<sPacket> z(zomg);
我的编译器总是抛出这个错误... 这个错误不会出现在原始类型中。
编译器输出如下:
../linkedList/tListItem.h: In constructor ‘tListItem<T>::tListItem(T) [with T = sPacket]’:
recvBufTest.cpp:15: instantiated from here
../linkedList/tListItem.h:4: error: no matching function for call to ‘sPacket::sPacket()’
../packetz/sPacket.h:2: note: candidates are: sPacket::sPacket(const char*, int)
../packetz/sPacket.h:1: note: sPacket::sPacket(const sPacket&)
我不想打扰你,但我也不想花两个小时在一些愚蠢的事情上......所以感谢你所有的回复。