следующие компилирует в НКУ:ошибки портирование C++ шаблоны из GCC в Visual C++
cvec.hpp:
template <class T>
class cvec : public deque<T>
{
class deque<T>::iterator Find(T);
};
cvec.cpp:
template <class T>
class deque<T>::iterator cvec<T>::Find(T element)
{
}
В Visual C++, получаем:
ошибка C2242 "typedef name не может следовать классу/структуре/объединению.
Я изменил «класс» в файле заголовка на «typename», но получил ошибку C3860 - список аргументов шаблона должен перечислять параметры в порядке, используемом в списке параметров шаблона. В этом случае есть только один параметр: T. Если компилятор не запутался в Find (T element)?
Какая версия Visual C++? –
Visual Studio 2008 – Naish44
'class' и' typename' не являются взаимозаменяемыми в этом контексте. 'class' там не является законным. – jalf