В определении блока для моего пользовательского оборудования приемопередатчика SDR я использую следующую комплексную переменную:
gr_complex complexSample;
В моем коде, который успешно работал в течение двух лет до недавнего обновления до последней версии gnuradio, я использую следующие назначения:
complexSample.real() = realInt;
complexSample.imag()= imagInt;
Однако, когда я пытаюсь скомпилировать сейчас, я получаю следующую ошибку:
error: lvalue required as left operand of assignment
К сожалению, если я уберу пару скобок, я получу следующую ошибку:
ошибка: недопустимое использование функции-члена void
std :: complex :: imag (float) '(вы забыли' () '?)
Исходная версия gnuradio
, которую я использовал, это 3.7.5-5 , а последняя версия, до которой я обновился: 3.7.10.1-2 .
Изменилось ли что-то существенное между этими двумя выпусками, что могло бы объяснить эту разницу в поведении?
Если да, то каково решение?
Может ли это быть как-то связано с "интеграцией Volk" (что бы это ни было ...).