【发布时间】:2016-11-07 20:28:34
【问题描述】:
我正在尝试将参数传递给作为参数传递的函数指针。
代码:
void Test(wchar_t* a, wchar_t* b)
{
// ...
}
void Test2(void(*Func)(wchar_t*, wchar_t*))
{
// ...
}
int main()
{
Test2(Test(L"Hello", L"Testing"));
return 0;
}
我收到此错误:
“void”类型的参数与“void (*)(wchar_t *, wchar_t *)”类型的参数不兼容
如何解决此问题以完成我想要实现的目标?
编辑:抱歉不清楚。我实际上想要完成的是将一个函数注入一个子进程并传递两个参数(wchar_t*、wchar_t*),以便我可以使用它们。但主函数可以是 void 或 int argc, char** argv。所以我通过简单地使用全局变量来完成我想要实现的目标
【问题讨论】:
-
一个 lambda 可能就足够了,这取决于你想要做什么。
-
您想要实现的究竟是什么是?正如您所注意到的,您的代码不是有效的 C,因此它不是您意图的有用演示。
-
πάντα ῥεῖ 的答案是我想要实现的,但我想要一种不同的方式来做到这一点,就像在 C++ 中使用模板一样
标签: c++