一个可能适用于 C 和 C++ 的菜鸟问题。假设我有
void myfunc() {
blah;
}
所以,我调用这个函数:
myfunc();
但是,当我“调用”它时不会产生编译器错误:
myfunc;
程序运行,但未调用 myfunc。那么,C++ 将其解释为什么?
现在,我在 Arduino IDE 中执行此操作,所有一大堆代码,所以我不会遇到段错误等。所以这可能会在动态链接的主机上引发运行时错误。
最佳答案
myfunc
没有括号是函数在内存中的地址。
例如,如果您必须将一个函数传递给其他函数,您可以使用它。
一个很好的例子是在 c 标准库的 bsearch
中,您需要传递一个用户定义的比较器函数才能进行通用搜索。
关于c++ - 什么是 "myfunc"与 "myfunc()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19531854/