誰かが私にこの振る舞いを説明できますか?
static short nDoSomething(const char* pcMsg, ...)
{
va_list pvArgument;
long lTest;
void* pvTest = NULL;
va_start(pvArgument, pcMsg);
pvTest = va_arg(pvArgument, void*);
lTest = (long) pvTest;
va_end(pvArgument);
return 0;
}
この関数をメインで次のように呼び出すと:
int main(int argc, char* argv[])
{
char acTest1[20];
nDoSomething("TestMessage", 1234567L, acTest1);
return 0;
}
pvTestのアドレスはlTestにあると思っていたのですが、実は1234567が入っていて…
これはどのように可能ですか?