不确定标题的措辞是否正确,或者是否有更好的表达方式,但我认为还可以。
无论如何,到目前为止,我了解以下内容:
a.b("a", "b", "c", foo);
其中“foo”是在别处定义的函数,不接受任何参数只会导致函数 ab() 运行,并带有上述参数。然后可以在函数 ab() 中简单地调用参数“foo”作为“foo()”。换句话说,我理解上述调用是使用函数指针作为函数 ab 中的参数作为参数。
好的,现在这就是我想要做的......
我希望能够做与上述类似的事情,除了这次我希望 foo 在该参数中传递一个参数,如下所示:
a.b("a", "b", "c", foo("bar"));
现在问题来了。这将导致使用参数“a”、“b”、“c”和foo(“bar”) 的结果。我不想要这个。我希望 foo("bar") 按字面意思传入,以便在函数 ab 中看起来像这样(作为标题):
a.b(first, second, third, fourth);
可以引用并调用第四个参数:
fourth();
即使“第四”有一个论点。我似乎无法找到解决这个问题的方法,有什么建议吗?
谢谢!