Локальный класс в шаблоне класса - проблема
От: Akai  
Дата: 08.08.05 04:46
Оценка:
Здравствуйте.
Имеется шаблон класса 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 ? Какой вариант "правильный" (соответствует стандарту) ?

Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.