如何修复Visual Studio 2017中的“命名空间std没有成员scoped_lock”错误

时间:2019-05-12 13:30:19

标签: c++ visual-studio-2017 c++17

我现在正在学习多线程,并想使用std :: scoped_lock,但是Microsoft Visual Studio 2017显示错误消息

  

命名空间“ std”没有成员“ scoped_lock”

通过右键单击项目名称->属性-> C / C ++->语言-> C ++语言标准-> / std:c ++ 17,确保我使用的是C ++ 17。 我搜索了google,但找不到任何解决方案。

#include <iostream>
#include <mutex>
#include <string>
#include <thread>

void PrintMessage(const std::string& message)
{
    static std::mutex sMutex;
    std::scoped_lock<std::mutex> lock(sMutex);
    std::cout << message << std::endl;
}

我想使用std :: scoped_lock而不会出现错误消息。

0 个答案:

没有答案