Здравствуйте.
Имеется шаблон класса CXList с локальным классом CXElement
template <class CDataType> class CXList
{
class CXElement
{
...
};
CXElement* GetElement(int iPos);
...
};
Какой должен быть заголовок у реализации функции GetElement ?
В книге по ANSI C++ встретил следующий вариант, самый простой:
template <class CDataType> CXElement* CXList<CDataType>::GetElement (int iPos)
В Borland C++ Builder компилятор говорит, что неизвестен класс CXElement. Работает такой вариант:
template <class CDataType> CXArray<CDataType>::CXElement* CXList<CDataType>::GetElement (int iPos)
В MSVC 7, в свою очередь, не работает ни первый, ни второй вариант.
Как описать функцию в MSVC ? Какой вариант "правильный" (соответствует стандарту) ?
Спасибо.