2010-07-07 55 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