说我有类似的东西:
#include <vector>
#include <algorithm>
#include <tr1/functional>
void bar(int value) {
// do something with value
}
void foo() {
// v is a std::vector<int>
std::for_each(v.begin(), v.end(),
std::tr1::bind(&bar, std::tr1::placeholders::_1)); // netbeans marks bind and placeholders
}
Netbeans将绑定/占位符标记为“无法解析标识符...”。 并且它也不会自动完成...
奇怪的事实是,它似乎没有问题自动填充#include <tr1/functional>
正确配置CodeAssistant路径。它不标记 _1
在std::tr1::placeholders::_1
中也是“无法解决......”。
但编码很好。
有关配置/查找内容的任何提示?在完美的代码上看到很多“错误”标记非常烦人。
由于
答案 0 :(得分:0)
我很容易认为Netbeans的解析器无法正确解析std::tr1
中的某些内容。
std::tr1
不是C ++ 03的一部分,但很可能是C ++ 0x的一部分;因此,许多STL实现使用其他C ++ 0x特性来实现它,例如GCC 4.5.2提供的std::tr1::bind
被实现为可变参数模板函数。
如果Netbeans的解析器还不支持可变参数模板,它将无法解析它,结果就是你得到的。
我在QtCreator上遇到了类似的问题(doesn't even support namespace aliases)。
如果是这种情况,您只需等待更新。如果尚未提交错误报告,您可以提交错误报告。