【发布时间】:2019-04-24 06:55:30
【问题描述】:
我正在尝试将一个函数指针传递给另一个函数,它有一个字符串数组作为参数。到目前为止,我有以下内容:
void pass_function(string args[]) {
//so something with args.
}
void takes_a_function(void(*function)(string[])) {
function;
}
int main()
{
string s[] = { "hello", "World" };
takes_a_function(pass_function(s));
system("pause");
return 0;
}
问题似乎是参数pass_function(s) 被转换为void 而不是void(*function)(sting *)
我想它需要演员,但如果可能的话,我希望清洁工这样做。
【问题讨论】:
-
pass_function(s)是void类型,因为您调用了该函数。然后你尝试传递返回值。 -
你的
takes_a_function是noop -
您能描述一下您在这里实际想要实现的目标吗?
标签: c++ c++11 parameter-passing function-pointers