我的 C++ 应用程序在 Netbeans 中按预期编译和运行。但是,代码帮助不识别诸如cbegin()
, cend()
,之类的术语unordered_set
,如红色下划线所示:
但是,代码帮助确实可以识别end()
。无济于事,我尝试转到项目-> 属性-> 代码帮助-> C++ 标准-> C++11。我还应该更新或配置什么以让 Netbeans 代码帮助识别这些术语?
确保您使用 Netbeans 版本 >= 7.2,因为此版本中引入了 C++11 支持(请参阅“C/C++”)。
如果您已经在 NB 中将 C++ 标准设置为 C++11,则可以重新解析您的项目:
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++ 标准设置为默认值会失败,但使用 C++11 ( Project Properties -> Build -> C++ Compiler -> C++ Standard = C++11
) 可以。
当我开始使用 NetBeans 和 C++11 时,我牢记了几点