2013-02-12 28 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