【发布时间】:2010-12-03 08:28:52
【问题描述】:
我有以下代码:
void funcA(void* pArg)
{
STRUCTA abc;
.
. // Some processing here
.
if (pArg)
(STRUCTA *)pArg = abc;
}
问题是,这段代码抛出了以下警告: 警告:赋值目标不是真正的左值;这将是未来的一个硬错误
如果没有强制转换,我会收到另一个警告,说我正在尝试取消引用 void 指针...
由于警告被视为错误,我不能使用此代码 - 但我真的不能使用除 void* 之外的任何其他指针类型作为参数。有没有我想念的优雅解决方案?
有什么办法可以做到吗?
【问题讨论】:
标签: c pointers casting compiler-warnings void-pointers