0

私はC++関数を持っています:

void Func(void* param)
{
   int a;
   a= (int*)param;
}

私がやったことはa=(int *)paramだと思います。 正しい。しかし、「int*からintに変換できません」というコンパイルエラーが発生する理由がわかりません。

誰かがこの点で私を親切に助けてくれますか?

前もって感謝します。

4

2 に答える 2

3

aはであり、intではないからint*です。もしかして:

int a;
a = *((int*)param);

代わりは?

于 2012-04-12T15:16:45.497 に答える
1

にキャストparamした後、変数として使用するには、それを逆参照(int*)する必要があります。

int a;
int* intParamPtr = (int*)param;
a = *intParamPtr; // * is dereference operator
于 2012-04-12T15:17:51.460 に答える