Страницы

Поиск по вопросам

понедельник, 8 июля 2019 г.

Как сделать массив экземпляров класса с полем-мьютексом?

Есть класс A. У него есть поле Mutex m_mutex; - вопрос: как создать глобальный массив экземпляров класса A, у него есть конструктор, который принимает одно число. Пишется ошибка - попытка доступа к удаленной функции. Подозреваю, что проблема с move-семантикой для mutex - это запрещено.


Ответ

Как-то так:
#include
class A { std::mutex m_mutex;
public: A(int x) {} };
A array[3] = {{1}, {2}, {7}};
int main() { return 0; }
То есть нужно явно указать аргумент конструктора каждого элемента массива.

Комментариев нет:

Отправить комментарий