命名空间 std 中的 C 互斥锁未命名类型

新手上路,请多包涵

我正在编写一个简单的 C++ 程序来演示锁的使用。我正在使用 codeblocksgnu gcc 编译器。

  #include <iostream>
 #include <thread>
 #include <mutex>
 using namespace std;
 int x = 0; // shared variable

 void synchronized_procedure()
 {
    static std::mutex m;
    m.lock();
    x = x + 1;
    if (x < 5)
    {
       cout<<"hello";
    }
    m.unlock();

 }

int main()
{

   synchronized_procedure();
   x=x+2;
   cout<<"x is"<<x;
}

我收到以下错误: mutex in namespace std does not name a type

为什么我会收到此错误?编译器不支持使用锁吗?

原文由 arjun 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 980
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题