类型无法解决错误

时间:2011-11-23 04:13:04

标签: c++ eclipse macos

我是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。

是否有人对此错误有所了解或者是否遇到此问题?谢谢!


很抱歉,我忘了粘贴Node的头文件,但是它与Error_code有同样的问题。现在我删除了那部分。这是错误信息(对不起,我不允许发布图片):

描述:无法解析类型'Error_code'

资源:Stack.h
路径:/ StackImplementation / header
地点:21号线 类型:语义错误

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


Wierd ......不知怎的,我重新创建了项目,错误消失了。感谢所有人!

2 个答案:

答案 0 :(得分:1)

声明Node类型在哪里?

protected:
    Node *top_node;

答案 1 :(得分:0)

Nit~“Node”在这个链中没有定义?根据您的工具,这可能会混淆您的答案。其他一切似乎都很好。甚至抄出.cc来测试它〜

#include "stack.h"

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

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

除了Node没有被定义之外,你的.cc可能会看到错误吗?

相关问题