我想在标题随机中使用default_random_engine和uniform_real_distribution生成一些随机的双数字。
我使用Eclipse进行C / C ++& MinGW来构建我的项目。
当我在编辑器中输入std :: default_random_engine时,Eclipse会提示我“无法解析”类型'std :: default_random_engine'。
我已经将项目配置为支持C ++ 11功能
然后我写了一个列表初始化向量和一个范围来测试C ++ 11的支持,代码工作正常。
vector<int> ivec = {1, 2, 3};
for (int i : ivec)
cout << i << " ";
cout << endl;
“std :: default_random_engine”出了什么问题,我该怎么做才能解决这个问题?
答案 0 :(得分:7)
更新:自从我发布原始答案已经过了很长时间,它已经过时了。我今天仔细检查了(2014年3月15日):在Eclipse Kepler(Build id 20130614-0229)中就足够了
在项目&gt;下添加属性&gt; C / C ++ Build&gt;设置然后在工具设置选项卡上 GCC C ++编译器&gt;杂项 -std=c++11
标志,
然后在 Window&gt;下偏好&gt; C / C ++&gt;构建&gt; Discovery 选项卡上的设置选择了 CDT GCC内置编译器设置,并将-std=c++11
标志添加到命令以获取编译器规范< / em>的。在我的机器上,在更改后它看起来像这样:
${COMMAND} -E -P -v -dD -std=c++11 "${INPUTS}"
清理并重建您的项目和您的索引(项目&gt; C / C ++索引&gt;重建),因为Eclipse倾向于缓存错误消息并显示即使它们在更改设置后消失了。
这肯定会在我的机器上运行。如果它不在您的机器上,那么您可能想对此进行一次检查:C++11 full support on Eclipse虽然我不确定正确性这种方法也没有必要在我的机器上进行。截至2014年3月7日,用户claim对其有所帮助,而上述方法则没有。
原帖,现已过时:
<击> 撞击>
<击>这似乎是来自IDE的错误错误。
单击项目属性,然后单击C / C ++ General&gt;代码分析&gt;语法和语义错误并取消选择类型无法解析。
我还必须在我自己的项目中禁用一堆其他语法和语义错误,例如无效参数,无效重载,符号未解析等。这些虚假错误来自Codan。
(您可能必须将__GXX_EXPERIMENTAL_CXX0X__
添加到您的定义/预处理器宏中,但不确定这一点。)
<击> 撞击>