it-swarm.com.de

Neue Typen dürfen in einem Rückgabetyp nicht definiert werden - C ++

Ich bin verwirrt, denke ich über die C++ - Klassenstruktur.

Ich habe eine .h mit dem Namen FxMathFunctions.h und eine .cpp mit dem Namen FxMathFunctions.cpp

die .h beginnt wie folgt:

class  FxMathFunctions
{
    public:
        FxMathFunctions();
        ~FxMathFunctions();

und in der .cpp

Ich habe:

#include "FxBasicTypes.h"
#include "FxMathFunctions.h"

FxMathFunctions::FxMathFunctions() {}

FxMathFunctions::~FxMathFunctions() {}

Ich erhalte Fehler wie:

error: new types may not be defined in a return type
error: return type specification for constructor invalid

Dies muss irgendwo mit der Definition zu tun haben, aber ich sehe nur nicht, wo dies auftreten könnte.

54
jDOG

Womit ist Ihre .h-Datei Ende? Ich vermute, dass das Ende Ihrer Klassendefinition kein ";" hat. Die Klasse wird als Rückgabetyp der ersten Funktion in Ihrer cpp-Datei interpretiert.

144
Chris Pitman

Der Verlust von ; Am Ende der Klassendeklaration kann zu einem solchen Fehler führen.

34

Die Klassendeklaration endet mit einem Semikolon.

15
tojas