Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Указатель на nested class + template


Автор: nickless 25.6.2006, 15:16
Доброго времени суток всем,

Есть шаблонный класс с определенным в нём nested class/struct, если передавать указатель на него как параметр, то все прекрасно компилируется, но если попытаться возвратить указатель на этот struct, компилятор (gcc) выдает ошибку:
Код
error: expected constructor, destructor, or type conversion before '*' token


Причем без шаблонов все работает, как победить?

Код:
Код

template <class T>
class Test
{
    private:
        class Nested 
        {
            T m;
        };
        
        void    f(Nested* nested);
        Nested* g(Nested* nested);
        Nested* h(Nested* nested)    //работает
        {
            return nested;
        };
};

template <class T>
void
Test<T>::f(Nested* nested)    //тоже ок
{
    //
}

template <class T>
Test<T>::Nested*                //ошибка
Test<T>::g(Nested* nested)
{
    return nested;
}
 

Автор: MAKCim 25.6.2006, 15:22
Код

template <class T>
typename Test<T>::Nested*
Test<T>::g(Nested* nested)
{
    return nested;
}
  

Автор: nickless 25.6.2006, 15:27
Спасиба smile  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)