2011-11-23 112 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除了沒有被定義的節點?

相關問題