在Eclipse CDT中使用operator []的向量向量中未解析的“大小”

时间:2017-06-19 11:32:12

标签: 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发行版(4.6.3))的任何想法都能理解这一点吗?

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

编辑:添加了Eclipse CDT版本。

1 个答案:

答案 0 :(得分:1)

每次键入新内容时,Eclipse都不会编译代码,但它使用静态StaticAnalysis工具。不幸的是,这个工具并不完美,这样的事情就发生了。 https://wiki.eclipse.org/CDT/designs/StaticAnalysis