2010-07-07 120 views
41

我很困惑我想在C++类结构上。新类型可能没有定义返回类型 - 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 

这必须是与定义的某个地方,但我只是不看情况可能发生。

+3

我假设'FxMathFunctions'正确关闭在你的代码,即它有一个右括号“}”后跟一个分号。如果没有,我会从那里开始。 – rcollyer 2010-07-07 21:02:19

+0

可能重复的[构造函数不得返回类型。(http://stackoverflow.com/questions/2579657/ctor-not-allowed-return-type) – 2010-07-07 21:03:43

+1

除结束分号,在'.h'文件必须启动与一名包括后卫,而不是一个类声明。 – Philipp 2010-07-07 21:14:59

回答

112

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

+2

你更快;-) – jdehaan 2010-07-07 21:01:49

26

在类声明的末尾失去;可能会导致这样的错误。

13

类声明以分号结束。

+4

分号,而不是半列。 :) – GManNickG 2010-07-07 21:23:58