我有一個struct Tree
Class Parser
內定義。我有Parser
中定義的方法,其中Tree
作爲輸入。結構在單獨的頭文件導致C++中的問題
void Parser::InputTree(const Tree& input) {
//uses data from Tree
}
一切似乎工作正常。但之後我需要在課外使用Tree
。所以我決定在一個單獨的頭文件中定義struct Tree
。我將這個頭文件包含在Parser
的頭文件中。雖然我在Parser的頭文件中看不到任何錯誤,但源文件在我的Eclipse上顯示錯誤。說沒有發現成員聲明指向方法InputTree
。
我的問題是,首先是這是一個正確的策略來定義一個單獨的頭結構?其次,我做錯了什麼?第三,我也有一些enum
類型,我想跨類使用。我在哪裏定義它?
對不起,我忘了補充一點,我有一個模板參數爲班級。當我在類之外定義結構時,我使用了'void Parser :: InputTree(const Tree &input){}'。不過謝謝你這樣詳細解釋。 –
user592748
2013-03-10 21:05:21
-1,'_TREE_H_'和'_PARSER_H_'保留給C++實現。 – 2013-03-11 00:41:26
@ robson3.14吧? – 2013-03-11 06:24:01