我正在尝试在 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/