web-dev-qa-db-fra.com

de nouveaux types peuvent ne pas être définis dans un type de retour - C ++

Je suis confus, je pense sur la structure de la classe C++.

J'ai un .h appelé FxMathFunctions.h et un .cpp appelé FxMathFunctions.cpp

le .h commence comme:

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

et dans le .cpp

J'ai:

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

FxMathFunctions::FxMathFunctions() {}

FxMathFunctions::~FxMathFunctions() {}

Je reçois des erreurs comme:

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

Cela doit être quelque chose à voir avec la définition quelque part, mais je ne vois tout simplement pas où cela pourrait se produire.

54
jDOG

Avec quoi votre fichier .h fin? Je suppose que la fin de votre définition de classe n'a pas de ";". La classe est interprétée comme le type de retour de la première fonction de votre fichier cpp.

144
Chris Pitman

Perdre ; à la fin de la déclaration de classe pourrait conduire à une telle erreur.

34

La déclaration de classe se termine par un point-virgule.

15
tojas