c++ - 什么是 "myfunc"与 "myfunc()"

标签 c++

一个可能适用于 C 和 C++ 的菜鸟问题。假设我有

void myfunc() {
    blah;
}

所以,我调用这个函数:

myfunc();

但是,当我“调用”它时不会产生编译器错误:

myfunc;

程序运行,但未调用 myfunc。那么,C++ 将其解释为什么?

现在,我在 Arduino IDE 中执行此操作,所有一大堆代码,所以我不会遇到段错误等。所以这可能会在动态链接的主机上引发运行时错误。

最佳答案

myfunc 没有括号是函数在内存中的地址。

例如,如果您必须将一个函数传递给其他函数,您可以使用它。

一个很好的例子是在 c 标准库的 bsearch 中,您需要传递一个用户定义的比较器函数才能进行通用搜索。

关于c++ - 什么是 "myfunc"与 "myfunc()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19531854/

相关文章:

c++ - Objective-C 错误 : C style method inside Class implementation?

c++ - 带类的 Switch 语句

c++ - 继承/多态——子类的调用方法

c++ - CPP中的递归定义

c# - 如何在 C# 中将数组放入结构中?

c++ - CV_INSTRUMENT_REGION() 是什么意思?

c++ - 从文件中读取前 n 个字母到字符串?

c++ - setParent addChild 似乎没有刷新 cocos2d-x 3.6 中的子级位置

c++ - string.c_str() 是常量吗?

c++ - 在 vector 中调用函数指针不会做任何事情