我试图在Visual Studio 2019(社区版本)中使用#include <numeric>
的gcd
函数。然而,使用namespace std
, visual studio只是说&;gcd&;是未定义的。根据我的研究,我应该修改c++版本。然而,在正常设置中,我找不到"配置属性"。在解决方案资源管理器中右键单击项目,然后选择属性,只会显示一个空窗口(参见empty -property-window图片)。
背景信息:
- 在Visual Studio 2019 Community中使用c++ (Cmake project)创建项目
- 增加了一个c++文件(.cpp),带有main函数和一个类
- 对于建筑,我使用Cmake
- 目前使用
namespace std
和#inlcude <iostream>
(没有问题) - 当使用
#include <numeric>
,然后试图使用gcd(x,y)
,我得到前面描述的错误提示 - Visual Studio试图通过添加
namespace std
来修复错误,即使已经添加了。
有解决这两个问题的办法吗?
在c++ 17中增加了gcd
函数。您可能没有在项目设置中设置适当的标准。至少当你在Visual Studio中使用std::filesystem::...
和旧的c++标准时,你会遇到这个问题。(文件系统库也在c++ 17中添加。)
在项目属性Configuration Properties
>General
祝辞C++ Language Standard
应该设置为ISO C++17 Standard (/std::c++17)
,以使代码编译。
您可以通过在解决方案资源管理器中显示的目标的上下文菜单中选择Properties
来打开项目属性;在你的屏幕截图中显示的属性只是显示一些关于所选项目的非常基本的信息。