未找到会员声明

cod*_*ons 13 c++ eclipse eclipse-cdt

我使用常规文本编辑器从事过c ++项目.后来,我将所有文件导入Eclipse,使调试更容易.

在Eclipse中,发生了一件奇怪的事情.即使我已经包含头文件,它也会抱怨"找不到成员声明".头文件具有函数定义.

我该如何解决这个问题?

提前致谢

vit*_*aut 18

"未找到成员声明"是Eclipse静态分析工具(codan)生成的错误.如果您收到此错误,但编译成功则这是误报.已知此工具的较旧版本会产生一些误报,例如,请参阅此错误报告.所以我建议将Eclipse CDT更新到最新版本.

可能导致此错误的另一个问题是未解决的包含会阻止Eclipse正确解析部分代码.Index -> Search For Unresolved Includes在项目的上下文菜单中选择将为您提供未解决的包含列表.有关如何解决此问题的详细信息,请参阅此答案.

这是一个例子:

class C {
  void f(std::vector<int>&);
};

void C::f(std::vector<int>&) {} // Member declaration not found
Run Code Online (Sandbox Code Playgroud)

上面的示例导致Eclipse CDT中出现"未找到成员声明"错误,即使您已<vector>包含但未解决(由于错误配置的包含路径).


Sri*_*han 7

虽然构建成功,但我在Eclipse中也经历了几次这个问题.我们可以通过重建项目菜单中的C/C++索引来解决这个问题.:)