我想从一个函数调用另一个函数,这是我的代码:
void fooA () { //do something } void fooB (fooC) { fooC(); } fooB (fooA);
为什么不执行fooA?
uemypmqf1#
您提供的代码具有以下功能:
void fooA () { print('hi'); } void fooB (fooC) { fooC(); } main() { fooB (fooA); }
输出:
hi
但是,最好完全键入函数参数,如下所示:
void fooA() { print('hi'); } void fooB(void Function() fooC) { fooC(); } main() { fooB(fooA); }
注意完整描述的类型声明void Function() fooC,这样做可以使编译器使用静态类型检查来确保传入的函数具有正确的参数和返回类型。参考文献
void Function() fooC
1条答案
按热度按时间uemypmqf1#
您提供的代码具有以下功能:
输出:
但是,最好完全键入函数参数,如下所示:
注意完整描述的类型声明
void Function() fooC
,这样做可以使编译器使用静态类型检查来确保传入的函数具有正确的参数和返回类型。参考文献