10
私は宣言しましたtypedef void (*DoRunTimeChecks)();
構造体に関数ポインタを格納するにはどうしたらいいですか?
これを構造体のフィールドとして保存するにはどうすればよいですか?それをどのように割り当てますか? fn()はどのように呼び出すのですか?
私は宣言しましたtypedef void (*DoRunTimeChecks)();
構造体に関数ポインタを格納するにはどうしたらいいですか?
これを構造体のフィールドとして保存するにはどうすればよいですか?それをどのように割り当てますか? fn()はどのように呼び出すのですか?
あなたのようにそれを置く他のフィールド:
struct example {
int x;
DoRunTimeChecks y;
};
void Function(void)
{
}
struct example anExample = { 12, Function };
がフィールドに割り当てる:
anExample.y();
#include <stdio.h>
typedef void (*DoRunTimeChecks)();
struct func_struct {
DoRunTimeChecks func;
};
void function()
{
puts("hello");
}
int main()
{
struct func_struct func_struct;
func_struct.func = function;
func_struct.func();
return 0;
}
注:
は、関数を呼び出すにはCでは 'void fn()'と 'void fn(void)'は同義ではないということです。 –
+1ありがとうございます。私はすでにそれに落ちた – Mawg