C ++说gcd不是std的成员

时间:2018-11-11 18:04:16

标签: c++ visual-studio-2017

我正在使用Visual Studio 2017,但遇到了一个问题。尝试使用std::gcd时出现错误error C2039: 'gcd': is not a member of 'std'

这是我的代码:

#include "pch.h"
#include <iostream>
#include <numeric>

int main() {
    std::cout << std::gcd(10, 5);
    return 1;
}

2 个答案:

答案 0 :(得分:7)

std::gcd是在C ++ 17中添加的。要在Visual Studio中使用它,您需要指定语言标准。您可以通过两种方式做到这一点,使用/std:c++17命令行选项或在“项目属性”对话框中:C / C ++->语言-> C ++语言标准。

答案 1 :(得分:0)

我刚刚测试并将语言标准设置为C ++ 17后,在VS2017 15.8.9中遇到了相同的错误。当我再次检查项目设置时,我所做的语言设置已恢复为默认设置。第二次设置后,它可以正常工作。

当我开始一个新项目并直接更改为C ++ 17时,这似乎经常发生。