class Test
{
public:
Test();
static std::condition_variable condVar;
void notifyCv(); // тут делаем condVar.notify_all()
}
при попытке использовать такую переменную - выдает undefined reference.
void main()
{
std::mutex mut;
std::unique_lock<std::mutex> lock(mut);
while (true) {
Test::condVar.wait(lock);
//далаем чтото полезное
}
}
Дело в том, что создается много экземпляров класса Test, и в этих экземплярах происходит событие, которого нужно постоянно ожидать. А реагировать нужно, если произошло событие в ЛЮБОМ экземпляре.
Если объявлять condVar, не как static, то у каждого экземпляра будет по своему condVar и как тогда ожидать событие от любого из экземпляров, не перебирая их все постоянно в цикле?
upd: да, вопрос похож на дубликат.. то, что static переменную нужно определить - я знаю. Но не пойму, как это сделать с condition_variable..
проблема решилась с помощью комментария @KoVadim.
вне объявления класса добавить:
std::condition_variable Test::condVar;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Внутри класса Cashier удалите тело функции _to_order, оставив только
Подскажите пожалуйста наилучший способ как записать файл в некоторую папку folder1\folder2\
Программа должна получать на вход координаты из командной строки по образцу (x;y) , вроде бы все норм , но выдает ошибкуБыл бы благодарен, если...