考虑以下模板类。C++模板 - 多种类型
template <class T>
class MyClass
{
void MyFunc();
}
template <class T>
void MyClass<T>::MyFunc()
{
//...implementation goes here
}
我需要添加其他功能myfunc2所它接受一个额外的模板ARG T2 即
template <class T>
class MyClass
{
void MyFunc();
template <class T2>
static void MyFunc2(T2* data);
}
template <class T>
void MyClass<T>::MyFunc()
{
//...implementation goes here
}
template <class T, class T2>
void MyClass<T>::MyFunc2(T2* pData)
{
//...implementation goes here
}
我使用VS 2008的编译器。我得到错误
error C2244: unable to match function definition to an existing declaration
函数定义和声明应该如何在这种情况下看起来像。
通常情况下,在类模板定义中内联模板成员函数的定义会更容易,以避免所有这些小问题 – 2010-10-21 11:12:27