【发布时间】:2012-01-27 15:02:46
【问题描述】:
我想知道将double (*)(double) 转换为double(*)(...) 是否安全,这将用于概括可能具有多个函数指针的代码。
到目前为止,我已经将要传递给函数的所有内容都存储在向量中,我想知道是否有一种方法可以在广义上调用函数(同时传递正确数量的参数)代码?我的意思是这样的:
//while initializing
mFunction = sin;
//later in code
double (*generalized)(...) = mFunction;
for(i=0;i<args.size();i++)
pusharg(args[i]);
call(generalized);
--编辑--
如果没有使用 c++ 的有效方法,是否可以使用汇编安全地调用函数?
【问题讨论】:
-
好吧,不是!我试图从“指向函数的指针”转换为“指向具有其他签名的函数的指针”,而他试图将“void *”转换为“函数指针”
标签: c++ assembly casting function-pointers