2013-02-12 54 views
5

我正在用eclipe編寫一些C++代碼。Eclipse發出錯誤信息,但代碼編譯

我有一個奇怪的行爲與矢量對象。

當我使用方法resize例如,Eclipse的返回以下錯誤:

#include "vector" 

    ... 

    vector<int> a; 
    a.resize(5); 

    Error: Invalid arguments candidates are: void resize(?, int). 

然而代碼從命令行編譯。

我該如何解決這種eclipse的挑剔行爲?

+0

適合我。你在使用最新的CDT嗎?請注意,Linux發行版傾向於打包幾年前的CDT。 – Eugene 2013-02-12 17:57:28

+0

我也有這個問題。我添加了所有包含目錄,並且Eclipse與'vector '沒有問題,它只是它的成員變量,它有問題。 – 2013-03-14 17:14:20

回答

6

經過相當長時間的搜索和修改設置後,我想我已經找到了答案。要獲得索引解析的代碼正確,我不得不:

  1. 右鍵單擊項目 - >屬性
  2. 轉到C/C++常規 - >預處理包括路徑,宏等
  3. 單擊供應商選項卡
  4. 檢查CDT GCC內置的編譯器設置選項
  5. 應用
  6. 重建索引
+0

謝謝!我爲此瘋狂。 – rocarvaj 2013-11-29 21:44:20

+0

它的工作原理。非常感謝 – AlexWei 2014-12-20 17:35:29