为什么Netbeans不会识别`cbegin()`,`cend()`,`unordered_set`以及其他C++特性?

dan*_*007 4 c++ netbeans c++11

我的C++应用程序在Netbeans中按预期编译和运行.然而,代码帮助不承认诸如cbegin(),cend(),unordered_set,由红色下划线明证:

在此输入图像描述

end()但是,代码协助确实可以识别.无济于事,我尝试过Project - > Properties - > Code Assistance - > C++ Standard - > C++ 11.我还应该更新或配置什么才能让Netbeans Code Assistance识别这些条款?

oll*_*llo 5

使用Netbeans Version> = 7.2,因为在此版本中引入了C++ 11支持(参见"C/C++").

如果您已经在NB中将C++标准设置为C++ 11,则可以重新分析您的procject:

  1. 选择您的C++项目 - >右键单击
  2. Code Assistance - > Reparse Project

编辑:

我在NetBeans 7.3 RC1下使用以下代码测试了这些方法(使用GCC 4.7.2):

#include <iostream>
#include <list>

int main ()
{
  std::list<int> mylist = {5,10,15,20};

  std::cout << "mylist contains:";

  for (auto it = mylist.cbegin(); it != mylist.cend(); ++it)
    std::cout << ' ' << *it;

  std::cout << '\n';

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

将C++ Standard设置为默认值会失败,但是使用C++ 11(Project Properties -> Build -> C++ Compiler -> C++ Standard = C++11)它会起作用.