나는 다음과 같은 코드를했습니다 :C에서 비어 있지 않은 void * 포인터에 값을 할당하는 올바른 방법은 무엇입니까?
void funcA(void* pArg)
{
STRUCTA abc;
.
. // Some processing here
.
if (pArg)
(STRUCTA *)pArg = abc;
}
문제가,이 코드는 다음과 같은 경고를 던지고있다
: 경고 : 할당 정말 좌변의 대상; 이 경고가 오류로 취급됨에 따라
, 내가 할 수있는 ... 내가 무효 포인터 역 참조하기 위해 노력하고있어 또 다른 경고를 얻을 것이다, 캐스트없이 미래
에 하드 오류가 될 것입니다 이 코드를 사용하지 마라. -하지만 실제로 void *와 다른 포인터 타입을 인자로 사용할 수 없다. 내가 누락 된 우아한 해결책이 있습니까?
이 방법을 만들 수있는 방법이 있습니까?
간결한 답장을 보내 주셔서 감사합니다 ... 그러나 Benoit은 정확히 같은 설명으로 2 분 전에 답했기 때문에 올바른 대답으로 표시해야했습니다! – TCSGrad