我有一个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