主题:问大侠们一个模板的问题
我定义了一个模板
template<class C>class String{
struct Srep;
Srep *rep;
public:
String();
String(const C*);
String(const String&);
C read(int i) const;
};
template<class C> struct String<C>::Srep{
C* s;//到元素的指针
int sz;//元素个数
int n;
};
template<class C> String<C>::String<C>()
{
rep=new Srep(0,C());//**************************error
}
int main()
{
String<char> buf;
return 0;
}
在标记的地方报如下错误
error C2514: 'String<char>::Srep' : class has no constructors
E:\OpenCV_Test\childclass\childclass.cpp(6) : see declaration of 'Srep'
E:\OpenCV_Test\childclass\childclass.cpp(48) : while compiling class-template member function '__thiscall String<char>::String<char>(void)'
Error executing cl.exe.
望大侠们赐教
template<class C>class String{
struct Srep;
Srep *rep;
public:
String();
String(const C*);
String(const String&);
C read(int i) const;
};
template<class C> struct String<C>::Srep{
C* s;//到元素的指针
int sz;//元素个数
int n;
};
template<class C> String<C>::String<C>()
{
rep=new Srep(0,C());//**************************error
}
int main()
{
String<char> buf;
return 0;
}
在标记的地方报如下错误
error C2514: 'String<char>::Srep' : class has no constructors
E:\OpenCV_Test\childclass\childclass.cpp(6) : see declaration of 'Srep'
E:\OpenCV_Test\childclass\childclass.cpp(48) : while compiling class-template member function '__thiscall String<char>::String<char>(void)'
Error executing cl.exe.
望大侠们赐教