こんにちは山本と申します。
関数の型キャストについての質問をさせてください。

//引数と戻り値がある関数(A)
void* foo(void* vp){ return NULL;}

//引数と戻り値がない関数(B)
void  foo2(void) {}

int main()
{
    void*  (*fnc_ptr)(void*);

    // 関数(B)を 関数(A)型 にキャストして実行
    (fnc_ptr = (void*(*)(void*))foo2)(NULL);
}

上記の場合引数をとらない関数に
引数を渡しますがその結果...
(a)スタックに積まれた引数はクリアされない
(b)引数は無視されスタックには積まれない
(c)スタックに積まれクリアも行われる
のどれになるのでしょう??

P.S VC++6.0においてコンパイルと実行は確認しました。
  情けない話なのですが、積まれた引数の行方について
  確認の仕方がどうしてもわかりません。
  
よろしくお願いします。


________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com