考慮以下模板類。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