unique_lock ошибка компиляции скобки инициализатора

Я в замешательстве...

У меня есть кусок кода таким образом;

 class logger
{
public:

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

  // ... snip ... 
}

Строка "unique_lock lk (mut) " не компилируется с этой ошибкой;

** g ++ -pthread --std = C++11 main.cxx main.cxx:42:31: ошибка: mut не является типом

unique_lock lk(mut);**

Однако, если я изменю его на... (обратите внимание, что инициализатором скобок является единственная разница)

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

Компилируется просто отлично.

У меня есть другой код, который инициализируется с использованием инициализатора без скобок, который работает / компилируется нормально. С какой стати это так, может я устала:)

ура

г

1 ответ

Бах.... я устал Я использую C++11 в инициализации класса... работает только с фигурными скобками. Пора идти домой...

Другие вопросы по тегам