0

我想在CallOption和PutOption派生類中編碼Put-Call Parity函數。 我想這個函數傳遞對象的引用作爲參數。C4430缺少類型說明符 - int假定

這是函數的在CallOption.hpp

double PCParity(const PutOption& put_option) const; 

類似地在PutOption.hpp

double PCParity(const CallOption& call_option) const; 

I,當然,包括在CallOption.hpp和PutOption.hpp往復簽名和。

,但我得到了以下錯誤:

  • 標識符 'PutOption' 是不確定的。
  • 缺少類型說明符 - 假定爲int。注意C++不支持default-int。
  • 語法錯誤:缺少「」前&

這是否意味着我不能在編譯時同時調用兩個派生類?

任何幫助,非常感謝。 :(

+0

你可能有一個圓形的include路徑。 – drescherjm

+0

***我當然在PutOption.hpp中包含了CallOption.hpp,並且是相互的。***這是你的錯誤。 – drescherjm

+3

[解決頭包括循環依賴項]的可能重複(http://stackoverflow.com/questions/625799/resolve-header-include-circular-dependencies) – drescherjm

回答

0

謝謝@drescherjm的意見,而你回答我一直尋找一個解決我的問題正如你說我應該使用向前聲明喜歡這裏說:。 What are forward declarations in C++? 事實上,我應該包括CallOption.hppPutOption.cpp 。同樣地,對於該CallOption類然後,聲明在CallOption.hpp頂部,如下所示:

Class PutOption; 
Class CallOption: public Option 
{ 
} 

非常感謝:)

相關問題