Я пытаюсь поместить std::string
в boost::lockfree::queue
, чтобы мои потоки могли обновлять друг друга новыми данными.
Когда я пытаюсь использовать boost::lockfree::queue<std::string> updated_data;
, g++
говорит:
В создании экземпляра класса boost:: lockfree:: queue > :
Ошибка: статическое утверждение не выполнено: (boost:: has_trivial_destructor:: значение)
ошибка: статическое утверждение не выполнено: (boost:: has_trivial_assign:: значение)
Я был показан вообще, что означают эти ошибки, но у меня нет надежды когда-либо исправлять это сам, так как я почти новичок в С++.
Есть ли альтернативный способ передачи текстовых данных между потоками с помощью lockfree
? Если нет, пожалуйста, покажите мне, как положить std::string
в boost::lockfree::queue
.