【发布时间】:2012-10-03 05:33:37
【问题描述】:
我正在开发一个新平台,我的代码是:
第 1 层:
Call_To_Layer2 (param1, param2);
第二层:
Call_To_Layer2(param1, param2)
{
Dispatch_Work_To_Thread(param1, param2);
}
Dispatch_Work_To_Thread(param1, param2)
{
// create a new thread and execute the task
}
来自 Layer1 的函数调用可以有任意数量的参数。那么如何在 Layer2 中设计这样的方法呢? layer2 中的 Dispatch_Work_To_Thread 方法需要函数名作为参数之一。既然参数个数不固定,那怎么设计呢?
我一直在思考这个问题的设计,但直到现在都没有想出任何解决方案。
【问题讨论】:
-
我不太清楚它会有多大帮助,但我有一些工作可以使用传入的参数调用任何函数(例如
wrap(std::pow, 2.5, 3);之类的东西)。整个void业务是这样的,只有当它有返回值时我才能存储它。无论如何,stackoverflow.com/questions/9625526/…
标签: c++