Тип шаблона класса за пределами класса
От: riYu  
Дата: 16.09.09 16:44
Оценка:
Добрый день.

Подскажите, пожалуйста, как заставить работать следующий код:
1  template <class T>
2  struct Template
3  {
4      typedef int Val;
5      Val fun(void);
6  };
7  
8  template <class T>
9  Template<T>::Val Template<T>::fun(void)
10 {
11 }

Компилятор выдает следующую ошибку:
test.cpp:9: error: expected constructor, destructor, or type conversion before ‘Template’

Т. е. ему не нравится конструкция Template<T>::Val. Если вместо нее поставить int, то компилятор ошибок не выдает.
Re: Тип шаблона класса за пределами класса
От: Fwiffo Россия  
Дата: 16.09.09 16:48
Оценка: +2
Здравствуйте, riYu, Вы писали:

Y>
Y>1  template <class T>
Y>2  struct Template
Y>3  {
Y>4      typedef int Val;
Y>5      Val fun(void);
Y>6  };
Y>7  
Y>8  template <class T>
Y>9  typename Template<T>::Val Template<T>::fun(void)
Y>10 {
Y>11 }
Y>
Re[2]: Тип шаблона класса за пределами класса
От: abrec Россия  
Дата: 16.09.09 17:00
Оценка:
Здравствуйте, Fwiffo, Вы писали:

F>Здравствуйте, riYu, Вы писали:


Y>>
Y>>1  template <class T>
Y>>2  struct Template
Y>>3  {
Y>>4      typedef int Val;
Y>>5      Val fun(void);
Y>>6  };
Y>>7  
Y>>8  template <class T>
Y>>9  typename Template<T>::Val Template<T>::fun(void)
Y>>10 {
Y>>11 }
Y>>


http://www.rsdn.ru/forum/cpp.applied/2620659.1.aspx
Автор: abrec
Дата: 14.08.07
Re[3]: Тип шаблона класса за пределами класса
От: Fwiffo Россия  
Дата: 16.09.09 17:05
Оценка:
Здравствуйте, abrec, Вы писали:

A>http://www.rsdn.ru/forum/cpp.applied/2620659.1.aspx
Автор: abrec
Дата: 14.08.07


Не въехал И чего?
Re[4]: Тип шаблона класса за пределами класса
От: abrec Россия  
Дата: 16.09.09 17:07
Оценка:
Здравствуйте, Fwiffo, Вы писали:

F>Здравствуйте, abrec, Вы писали:


A>>http://www.rsdn.ru/forum/cpp.applied/2620659.1.aspx
Автор: abrec
Дата: 14.08.07


F>Не въехал И чего?


Не берите в голову. Это я тормознул
Re[2]: Тип шаблона класса за пределами класса
От: riYu  
Дата: 16.09.09 18:40
Оценка:
Здравствуйте, Fwiffo, Вы писали:
1  template <class T>
2  struct Template
3  {
4      typedef int Val;
5      Val fun(void);
6  };
7  
8  template <class T>
9  typename Template<T>::Val Template<T>::fun(void)
10 {
11 }


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