と「左辺値は、割り当ての左オペランドとして必要な」私は配列GCCエラーコンパイル時:関数ポインタ
void* lpProcAddress[5];
typedef unsigned long (*MyFunction_TYPE) (void*);
#define MyFunctionInArray ((MyFunction_TYPE) lpProcAddress[0])
unsigned long AnyFunction (void* lpPointerToAny)
{
/* Some Code */
return 0;
}
int main()
{
MyFunctionInArray =
AnyFunction; // Displays: "error: lvalue required as left operand of assignment"
}
GCCディスプレイ「エラーの手順アドレスを記録するCコードを持っている:左オペランドとして必要と左辺割り当ての "。 これを修正するにはどうすればよいですか? 私の目的のために、私は直接AnyFunction()を呼び出すことができませんでした。
NO、lpProcAddressに割り当てる[0]で直接動作しますが、私はまた、配列からプロシージャを呼び出す必要があります:同様にあなたがちょうど行うことができます関数を呼び出す
。私がMyFunction_TYPEなしでMyFunctionInArrayを定義した場合、MyFunctionInArray(param)を書くだけで簡単に呼び出すことはできませんでした。または、MyFunction_TYPEを使用して、同じ関数を2回定義する必要があります。それはGCCの古いバージョンで働いたので私を悩ます(私は変更する必要があった) – Julien