unique_lock compilation error brace initializer

时间:2018-03-15 16:29:18

标签: compilation unique-lock

我很困惑......

因此我有一段代码;

 class logger
{
public:

  std::mutex mut;
  unique_lock< std::mutex> lk(mut);

  // ... snip ... 
}

“unique_lock&lt; std :: mutex&gt; lk(mut)”行无法使用此错误进行编译;

** g ++ -pthread --std = c ++ 11 main.cxx main.cxx:42:31:错误:mut不是类型

unique_lock&LT;的std ::互斥&GT; LK(MUT); **

但是,如果我将其更改为...(注意括号初始化程序是唯一的区别)

unique_lock< std::mutex> lk(mut);

它编译得很好。

我还有其他代码使用非支撑初始化程序初始化,它可以正常工作/编译。为什么会这样,也许我累了:)

干杯

1 个答案:

答案 0 :(得分:0)

巴哈......我累了。我在类初始化中使用C ++ 11 ...只适用于大括号。是时候回家......

几个月后......注意到花括号......

  

类记录器   {

     

公共:

     

std :: mutex mut; unique_lock&LT;的std ::互斥&GT; LK {MUT};

     

}