Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.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
为什么';t Netbeans识别'cbegin()'、'cend()'、'unordered_set',以及其他C++;特征? 我的C++应用程序在NETBESE中编译并运行。但是,代码帮助不识别诸如cbegin(),cend(),无序集,如红色下划线所示:_C++_Netbeans_C++11 - Fatal编程技术网

为什么';t Netbeans识别'cbegin()'、'cend()'、'unordered_set',以及其他C++;特征? 我的C++应用程序在NETBESE中编译并运行。但是,代码帮助不识别诸如cbegin(),cend(),无序集,如红色下划线所示:

为什么';t Netbeans识别'cbegin()'、'cend()'、'unordered_set',以及其他C++;特征? 我的C++应用程序在NETBESE中编译并运行。但是,代码帮助不识别诸如cbegin(),cend(),无序集,如红色下划线所示:,c++,netbeans,c++11,C++,Netbeans,C++11,但是,代码帮助确实识别end()。没有效果,我尝试了Projt:Projt:>代码辅助-> C++标准-> C++ 11。我还应该更新或配置什么来让Netbeans代码助手识别这些术语?让舒尔您使用Netbeans版本>=7.2,因为C++11支持在此版本中引入() 如果你已经在C++中设置C++标准为C++ 11,你可以重新分析你的项目: < Selcect > C++项目>右击< /LI> 代码帮助->重新分析项目 编辑: 我在NetBeans 7.3 RC1下使用以下代码测试了这些方法(


但是,代码帮助确实识别end()。没有效果,我尝试了Projt:Projt:>代码辅助-> C++标准-> C++ 11。我还应该更新或配置什么来让Netbeans代码助手识别这些术语?

让舒尔您使用Netbeans版本>=7.2,因为C++11支持在此版本中引入()

如果你已经在C++中设置C++标准为C++ 11,你可以重新分析你的项目:

< Selcect > C++项目>右击< /LI>
  • 代码帮助
    ->
    重新分析项目

  • 编辑:

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

    #包括
    #包括
    int main()
    {
    std::list mylist={5,10,15,20};
    
    std::cout当我开始使用NetBeans和C++11时,我记住了几点

    • 确保它是最新的(NetBeans 7.2.1)
    • 不要使用Cygwin包含GCC库来编译程序。请改用MinGW安装程序。使用MinGW安装程序时,请确保从internet“下载最新软件包”
    • 安装后,请确保环境路径变量 设置正确
    • 打开NetBeans并转到Tools->Options。单击C/C++选项卡并确保MinGW被用作默认编译器
    • 右键单击项目并选择属性。选择 C++编译器选项,并确保已在附加选项空间中编写了-std=C++11

    这些都是库中新的C++11功能。我不希望所有IDE都能理解它们……请确保您正在使用的库中有这些成员函数(如果它实际上正在读取库),Netbeans支持7.2版之后的C++11(我的答案中链接了源代码)。如果将编译器标准更改为c++11,则会在makefile中设置
    std=c++11
    标志。否则,您可以重新清理和构建项目。@ollo我在回答中提到的位置设置了-std=c++11标志(我认为它位于G++.EXE上)每次我使用C++11时,代码似乎都能正常工作。您还有什么要说的吗?是的,它可以工作。但这不会更新netbeans中可见的编译器设置。编译器设置的功能与您完全相同,但您的方式不会在“C++标准”中显示此设置顺便说一句,这只是一个装饰性的方面,没有功能性。两种解决方案都很好(或者应该这样做^^)。
    #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;
    }