小编SJH*_*owe的帖子

无法编译 C++ std::shared_timed_mutex.try_lock_for()

使用VS2017

我正在尝试使用 std::shared_timed_mutex ,特别是成员函数 try_lock_for 。我试图将超时指定为 100 毫秒。

现在在 Alan Birtles 的帮助下进行编辑。我现在有

#include <chrono>                   // for std::chrono
#include <shared_mutex>             // for std::shared_timed_mutex
#include <iostream>                 // for std::cerr

static std::shared_timed_mutex   SHMutex;

void testfunc()
{
          using duration2 = std::chrono::duration<_int64, std::milli>;
          // WAS using duration2 = std::chrono::duration<_int64, std::chrono::milliseconds>;
        const duration2 dur(100);
        if (!SHMutex.try_lock_for(dur))
            std::cerr << "Lock failure for SHMutex" << '\n';
}
Run Code Online (Sandbox Code Playgroud)

无论我做什么,Visual Studio 都会抱怨 dur 实例化错误的编译错误。我必须做什么才能使其正常工作?

编译错误现在为零。艾伦·伯特尔斯的回答改变了一切

c++ mutex

0
推荐指数
1
解决办法
117
查看次数

标签 统计

c++ ×1

mutex ×1