新类型不能在返回类型中定义 - C++

问题描述 投票:0回答:3

我对 C++ 类结构感到困惑。

我有一个名为 FxMathFunctions.h 的 .h 和一个名为 FxMathFunctions.cpp 的 .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

这一定与某个地方的定义有关,但我只是不知道这可能发生在哪里。

c++ class-design compilation
3个回答
158
投票

你的 .h 文件结尾是什么?我猜你的类定义的末尾没有“;”。该类被解释为 cpp 文件中第一个函数的返回类型。


37
投票

在类声明末尾丢失

;
可能会导致此类错误。


17
投票

类声明以分号结尾。

© www.soinside.com 2019 - 2024. All rights reserved.