универсальное программирование на c ++ и typedef внутри класса - PullRequest
0 голосов
/ 22 сентября 2011

допустим, у меня есть следующий код в файле A.cpp:

template <typename T>
class A{
   typedef T myType;
   myType foo();
}

Если я хочу реализовать функцию foo в этом файле, каков синтаксис для записи объявления функции?Я думал, что это будет:

template <class T>
myType A<T>::foo(){
.
.
.
}

очевидно, что это неправильно.

Ответы [ 2 ]

4 голосов
/ 22 сентября 2011

Да, typedef доступен только внутри класса, а возвращаемый тип отсутствует в классе:

template <class T>
typename A<T>::myType A<T>::foo() {}
0 голосов
/ 22 сентября 2011
template <typename T>
typename A<T> :: myType A<T> :: foo ()
{
}
...