2015-05-05 52 views
-2

我是新的C++,並希望得到一些幫助固定以下模板函數的代碼而不刪除函數FL()語法錯誤使用C++模板成員函數

template<type T> 
class Test 
{ 
int f1(T* x); 
}; 

template< T> 
int Test::f1(T* x) 
{ 
return 5: 
}; 
+0

衛生署!您忘記了包含錯誤消息(C++有多個錯誤消息!) –

回答

2

正確的語法是

template<typename T> 
class Test 
{ 
    int f1(T* x); 
}; 

template<typename T> 
int Test<T>::f1(T* x) 
{ 
    return 5; 
}; 

注意關鍵字指定模板參數T要麼是typenameclass

3

你有NU基數語法錯誤,但我猜你的主要問題是你需要Test<T>::f1而不是Test::f1

//typename, not type 
template<typename T> 
class Test 
{ 
    int f1(T* x); 
}; 

//  forgot typename 
template<typename T> 
int Test<T>::f1(T* x) 
//need ^^^ 
{ 
    return 5; 
} 
//^ no semicolon