c++ - 在 Eclipse CDT 中使用运算符 [] 的 vector vector 中未解析 "size"

标签 c++ eclipse-cdt

我正在尝试在 OS X 上为 C++ 项目使用 Eclipse CDT(仅用于“组织包含”功能)。静态分析器(语法高亮)似乎无法解析容器类中模板运算符重载的类型,例如 std::vector 和 operator[]。示例:

#include <vector>

int main() {
  std::vector<std::vector<int> > st = {{0}};

  st[0].size(); // Method 'size' could not be resolved
  st.front().size(); // no problem
}

此代码在 g++ 和 clang++ 中编译。我对完全关闭语法突出显示并不感到兴奋(IDE 有什么意义?)。关于获取 Eclipse CDT(特别是 OS X 上的 Neon.3 Release (4.6.3))以理解这一点的任何想法?

编辑:更新了更简单的 MWE,问题与使用结构无关。

编辑:添加了 Eclipse CDT 版本。

最佳答案

Eclipse 不会在您每次输入新内容时编译您的代码,而是使用静态静态分析工具。不幸的是,该工具并不完美,这样的事情时有发生。 https://wiki.eclipse.org/CDT/designs/StaticAnalysis

关于c++ - 在 Eclipse CDT 中使用运算符 [] 的 vector vector 中未解析 "size",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44629442/

相关文章:

c++ - 跟进英语语法分析器

c++ - 使用数组参数和非数组参数调用重载函数

c++ - 在 Windows 上的 Qt Creator 中编译 Cuda 代码

c++ - GNU MAKE - 从我自己的 Makefile 创建 getoptpp 库或为 c++ 建议命令行选项库

c++ - 命名空间 'bar' 中的“Foo”没有为头文件中的对象成员命名类型

makefile - 使 : *** multiple target patterns. 停止

c++ - 多态与常规继承?

c++ - DLL 中的实例化类在 QT 中的 LoadLibrary 中抛出 127 错误

c++ - 如何在 Eclipse 中为启动新项目时创建的文件设置 C++ 文件扩展名为 .cc?

C++ GNU 指定的结构初始化在 Eclipse 中无法识别