Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ IDE:C++;std::tr1上的语法错误_C++_Netbeans_Syntax - Fatal编程技术网

C++ IDE:C++;std::tr1上的语法错误

C++ IDE:C++;std::tr1上的语法错误,c++,netbeans,syntax,C++,Netbeans,Syntax,假设我有这样的东西: #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::tr

假设我有这样的东西:

#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
}
#包括
#包括
#包括
空心条(int值){
//做有价值的事
}
void foo(){
//v是一个std::向量
std::for_each(v.begin(),v.end(),
std::tr1::bind(&bar,std::tr1::占位符::_1));//netbeans标记bind和占位符
}
NetBeans将绑定/占位符标记为“无法解析标识符…”。 而且它也不会自动完成

奇怪的事实是,它没有自动完成
#include
的问题,这似乎表明 代码助手路径配置正确。它不标记\u 1
std::tr1::占位符::_1
中也显示为“无法解析…”

不过,代码编译得很好


有关于配置/查找什么的提示吗?在完美的代码上看到大量的“错误”标记是非常烦人的。

我倾向于认为Netbeans的解析器无法正确解析
std::tr1
中的某些内容

std::tr1
不是C++03的一部分,但很可能是C++0x的一部分;因此,许多STL实现使用其他C++0x特性来实现它,例如GCC4.5.2提供的
std::tr1::bind
作为可变模板函数实现

如果Netbeans的解析器还不支持可变模板,它将无法解析它,结果就是您得到的结果

我在QtCreator(哪个)上也有类似的问题


如果是这种情况,您只需等待更新。如果尚未提交bug报告,您可以提交。

ops。。。你说得对。。。EndEdit广泛使用NETBeCon来开发C++,并接受了它不能正确解析Tr1和Boost的一些事实。我还没有找到任何方法来解决这个问题,所以我很高兴看到有人能找到解决方案@Shunz先生:出于好奇,每次重新启动NetBeans时,它无法解析的符号是否一致?@JaredC是的,它们总是相同的符号。但有时它也无法成功解析某些标准STL::iterator typedefs。我想你是对的,我正在等待7.0版本的PHP5.3和HTML5的支持;)即使这个页面:似乎表明C++增强只是为了指针对象自动转换“.”到“->”。