tipo typedef'd não visível como tipo de retorno de uma função membro
Este programa falha ao compilar (usando o gcc-4.5). A mensagem de erro diz:
error: 'myType_t' não nomeia um 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 }
Agora declarandotypedef int myType_t;
fora da classeabc
faz isso compilar. Minha confusão é: qual é o problema se o tipo de retorno de uma função de membro for digitado dentro da class