无法解析向量的 Eclipse 方法

Eclipse method could not be resolved for vector of vectors

本文关键字:Eclipse 方法 向量      更新时间:2023-10-16

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

代码在g++ -Wallclang++下编译得很好 - 这是一个简短的示例。

#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;
}

我在尝试访问iter->first时遇到了std::vector<std::pair<int, int> >::iterator类似的问题。(字段"首先无法解决)。

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

我在这里完全迷失了 - 如何摆脱这个日食错误?

更新:我也用最新的可用版本尝试过这个:君诺服务版本1。相同的结果。

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

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

通过项目>清理和重建,此问题已得到解决。