Я пытаюсь указать функцию структуры к другой функции другой структуры,Функция Struct указывает на другую функцию другой структуры
Plase считают это:
// Main Structure:
typedef struct
{
int GetValA(int a)
{
return a * 2;
}
} x;
typedef struct
{
int(*HGetValA)(int); // Pointer function
} hookx;
// Then
int main()
{
x v1;
hookx* v2;
v2 = (hookx*)&v1; // or 0x0 memory address
// Now declaring pointer function
v2->HGetValA = (int(*)(int))&v1.GetValA; // Pointing to function of the main structure.
}
для меня, это выглядит хорошо, но во время компиляции дает мне ошибку:
[Warning] converting from 'int (x::)(int)' to 'int ()(int)' [-Wpmf-conversions]
невозможно без имени? – nikomaster
Он работает с добавлением ключевого слова 'static' перед' GetValA() 'в этой программе. но, возможно, это не то, что вы пишете точно. – uscq