2015-05-05 3 views
-2

Я новичок в C++ и хотел бы получить некоторую помощь фиксируя следующую функцию шаблона кода без удаления функции фл()Ошибка синтаксиса в C++ член шаблона функции

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

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

Doh! Вы забыли включить сообщение об ошибке (C++ имеет более одного сообщения об ошибке!) –

ответ

2

Правильный синтаксис будет

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

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

Обратите внимание на ключевое слово с указанием аргумент шаблона T либо typename или class

3

Вы ню многочислен- синтаксических ошибок, но я предполагаю, что ваш главный вопрос вы должны 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 
Смежные вопросы