У меня есть следующий код:
void funcA(void* pArg)
{
STRUCTA abc;
.
. // Some processing here
.
if (pArg)
(STRUCTA *)pArg = abc;
}
проблема в том, что этот код выдает следующее предупреждение: предупреждение: цель назначения не является действительно lvalue;в будущем это будет серьезной ошибкой
Без приведения я получу еще одно предупреждение о том, что пытаюсь разыменовать пустой указатель ...
Поскольку предупреждения обрабатываются какошибки, я не могу использовать этот код - но я действительно не могу использовать любой другой тип указателя, кроме void * в качестве аргумента.Есть ли элегантное решение, которое мне не хватает?
Есть ли способ заставить эту работу работать?