новые типы не могут быть определены в возвращаемом типе - C ++ - PullRequest
54 голосов
/ 08 июля 2010

Я запутался, я думаю о структуре класса C ++.

У меня есть .h с именем FxMathFunctions.h и .cpp с именем FxMathFunctions.cpp

.h начинается как:

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

и в .cpp

У меня есть:

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

FxMathFunctions::FxMathFunctions() {}

FxMathFunctions::~FxMathFunctions() {}

Я получаю ошибки вроде:

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

Это должно быть что-тосделать с определением где-нибудь, но я просто не вижу, где это может произойти.

Ответы [ 3 ]

141 голосов
/ 08 июля 2010

Чем ваш файл .h заканчивается ?Я предполагаю, что в конце определения вашего класса нет ";"Класс интерпретируется как тип возврата первой функции в вашем файле cpp.

33 голосов
/ 08 июля 2010

Потеря ; в конце объявления класса может привести к такой ошибке.

14 голосов
/ 08 июля 2010

Объявление класса заканчивается точкой с запятой.

...