我的C ++应用程序在Netbeans中按预期编译和运行。但是,代码帮助无法识别cbegin()
,cend()
,unordered_set
等字词,如红色下划线所示:
然而,代码帮助确实识别end()
。无济于事,我试过去Project - >属性 - >代码帮助 - > C ++标准 - > C ++ 11。我还应该更新或配置什么才能让Netbeans Code Assistance识别这些条款?
答案 0 :(得分:5)
确保您使用Netbeans版本> = 7.2,因为此版本中引入了C ++ 11支持(see "C/C++")。
如果您已经在NB中将C ++标准设置为C ++ 11,则可以重新分析您的procject:
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;
}
将C ++ Standard设置为默认值会失败,但使用C ++ 11( Project Properties -> Build -> C++ Compiler -> C++ Standard = C++11
)会有效。
答案 1 :(得分:2)
当我开始使用NetBeans和C ++ 11时,我记住了几点要点