c – 无法解析向量矢量的Eclipse方法

每当我尝试通过索引运算符访问向量元素的方法或字段时,例如bar [0] .push_back(0)on vector >我从
eclipse中得到了“方法无法解决”的语义错误.

代码用g-Wall或clang编译得很好 – 这是一个简短的例子.

#include <set>
#include <vector>
#include <iostream>

int main()
{
    std::vector< std::vector < int > > bar(10);
    bar[0].push_back(0);    // eclipse "method 'push_back' could not be resolved
    (bar[0]).push_back(1);  // eclipse "method 'push_back' could not be resolved
    bar[0][0] = 0;      // This and all else is just fine for eclipse
    std::vector<int> &bar0 = bar[0];
    bar0.push_back(2);
    std::vector<int> *pbar0 = &bar[0];
    pbar0->push_back(3);
    return 0;
}

我对std :: vector< std :: pair< int,int>有一个类似的问题. > :: iterator首先尝试访问iter-> (领域’首先无法解决).

它是一个C/C++项目,.cpp文件,在Eclipse 4.2.1中,没有未解决的包含.

我完全迷失在这里 – 我怎么能摆脱这个日食错误?

更新:我也尝试使用最新版本:Juno Service Release 1.相同的结果.

Update2:我实际上注意到,对于一个全新的项目,错误不会发生,所以我应该能够最终确定导致此错误的设置.到目前为止,我无法识别任何内容,没有定义任何(非内置)符号,路径看起来也很好.

最佳答案 从头开始重新创建项目解决了这个问题.看来该项目是由以前版本的eclipse创建的,可能会导致问题.由于.project和.cproject中的大量更改,因此无法确定具体原因.

点赞