2012-03-31 17 views
4

他の関数へのポインタをとる関数を作成することはできますか?このような関数のプロトタイプはどのように見えますか?どのように関数ポインタに関数を渡すのですか?

+2

関数ポインタチュートリアル:http://www.newty.de/fpt/index.html – surfen

+0

ます。http://www.newty .de/fpt/fpt.htmlなどが役に立つかもしれません。 – phimuemue

+0

可能な複写[C++関数ポインタをパラメータとして](http://stackoverflow.com/questions/2582161/c-function-pointer-as-parameter) –

答えて

6
typedef int (*func)(float, char); 

int something_that_takes_a_func(func f) { return f(3.14, 3); } 

int foo(float a, char b) { return a - b; } 

std::cout << something_that_takes_a_func(&foo) << "\n"; 
+3

+1 ... typedefを持たない関数ポインタは楽しいものではありません。 –

3
void f(int(*Func)()) 
{ 
    int a = Func(); 
} 

とメンバ関数について:

void f(int(cLass::*Func)()) 
{ 
    cLass *c = new cLass; 
    int a = (c->*Func)(); 
} 
+0

'class' ?? ... –

+0

@Oli、fixed、modifed answer – gunter

関連する問題