我有以下代码:
void funcA(void* pArg)
{
STRUCTA abc;
.
. // Some processing here
.
if (pArg)
(STRUCTA *)pArg = abc;
}
问题是,这段代码抛出了以下警告:警告:赋值目标不是真正的左值;这将是未来的一个硬错误
如果没有演员表,我会收到另一个警告,说我正在尝试取消引用 void 指针......
由于警告被视为错误,我不能使用此代码 - 但我真的不能使用除 void* 之外的任何其他指针类型作为参数。我缺少一个优雅的解决方案吗?
有什么办法可以使这项工作?