C ++ typedef und return types: Wie kann der Compiler den mit typedef erstellten Rückgabetyp erkennen?

7
%Vor%

myInt wird vom Compiler in dieser Zeile nicht als 'int' erkannt:

%Vor%

Wie kann ich den Compiler myInt als int erkennen?

    
user52343 20.04.2012, 18:58
quelle

3 Antworten

19

typedef erzeugt Synonyme, keine neuen Typen, also sind myInt und int bereits gleich. Das Problem ist der Umfang - es gibt keine myInt in einem globalen Bereich, Sie müssen A::myInt außerhalb der Klasse verwenden.

%Vor%     
Cat Plus Plus 20.04.2012, 19:00
quelle
2

A::myInt A::getK() { return k; }

Sie müssen den Typ typedef qualifizieren, weil Sie ihn in der Klasse A scope erstellt haben.

    
Mark B 20.04.2012 19:00
quelle
-2

Setzen Sie die Definition außerhalb der Klasse.

    
NiVeR 20.04.2012 19:03
quelle

Tags und Links