typedef'd type no visible como tipo de retorno de una función miembro
Este programa no se compila (usando gcc-4.5). El mensaje de error dice:
error: "myType_t" no nombra un tipo
1 class abc{
2 //typedef int myType_t;
3
4 public:
5 typedef int myType_t;
6
7 abc();
8 myType_t fun1();
9 };
10
11 myType_t abc::fun1()
12 {
13 return 0;
14 }
15
16 int main()
17 {
18 abc abc1;
19 return 0;
20 }
Ahora declarandotypedef int myType_t;
fuera de la claseabc
hace esta compilación. Mi confusión es, ¿cuál es el problema si el tipo de retorno de una función miembro está tipificado dentro de la clase.