2011-11-23 102 views
0

我是C++的新手,在这里我得到了一个愚蠢的问题。类型无法解决错误

utility.h:

#ifndef UTILITY_H_ 
#define UTILITY_H_ 

using namespace std; 

#include <iostream> 

enum Error_code {success, fail, range_error, underflow, overflow, fatal, 
      not_present, duplicate_error, entry_inserted, entry_found, 
       internal_error}; 


#endif /* UTILITY_H_ */ 

Stack.h:

#ifndef STACK_H_ 
#define STACK_H_ 

#include "utility.h" 

typedef double Stack_entry; 

class Stack { 
public: 
    Stack(); 
    ~Stack(); 
    bool empty(); 
    Error_code push(const Stack_entry &item); 


#endif /* STACK_H_ */ 

这两个头文件是在我的项目中唯一的文件,现在,他们是在同一个文件夹中。但是,Stack.h中的Error_code始终会报告为“类型无法解析”。顺便说一下,我在Mac OS X上使用Eclipse,并且安装了CDT。

有没有人有关于此错误的想法或者遇到过这种情况?谢谢!


对不起,我忘了粘贴该节点的头文件,但它与ERROR_CODE同样的问题。现在,我已删除了part.Here的错误信息(抱歉我不能张贴图片):

:型号“ERROR_CODE”无法解析

资源:Stack.h
路径:/ StackImplementation /头
位置:行21
类型:语义错误

此外,我忘了提,这两个文件可以用g ++命令编译,但是Eclipse总是报告错误类型。


Wierd ......不知何故我重新创建了该项目,错误消失..谢谢所有人!

+0

请注意,littleadv和我都在讨论手头的问题 - 没有完整的错误信息,那是我们最好的选择。将来请编译器提供完整的错误消息,请:) :) – sarnold

+0

我已经粘贴了错误消息,希望它能对您有所帮助。谢谢大家! – Leoatcle

回答

1

Node类型在哪里申报?

protected: 
    Node *top_node; 
+0

我刚刚用GCC 4.6试过了他的代码,我得到的唯一错误是'Node'不是一个类型 - 没有关于'Error_code'的抱怨。 –

+2

......这只是为了说明为什么始终显示编译器的整个错误信息是非常重要的。 :) – sarnold

0

Nit〜“Node”在此链中没有定义?根据你的工具,这可能会混淆你的答案。其他一切似乎都很好。即使掐灭使用.cc来测试它〜

#include "stack.h" 

bool Stack::empty() { 
    return true; 
} 

Error_code Stack::push(const Stack_entry &item) { 
    return success; 
} 

也许你可以看到什么不对您的.cc除了没有被定义的节点?

相关问题