Добрый день.
Подскажите, пожалуйста, как заставить работать следующий код:
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, то компилятор ошибок не выдает.
Здравствуйте, 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>
Здравствуйте, 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
Здравствуйте, Fwiffo, Вы писали:
F>Здравствуйте, abrec, Вы писали:
A>>http://www.rsdn.ru/forum/cpp.applied/2620659.1.aspxАвтор: abrec
Дата: 14.08.07
F>Не въехал И чего?
Не берите в голову. Это я тормознул
Здравствуйте, 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 }
Как все просто.
Большое спасибо.