【发布时间】:2015-10-09 20:37:44
【问题描述】:
我声明了一个这样的函数:
int __stdcall DoSomething(int &inputSize, int &outputSize, void(* __stdcall progress)(int) )
{
}
如何使 progress() 回调一个全局变量以在同一个 DLL 中的其他函数中使用它? 我是 C++ 的新手。
【问题讨论】:
-
只使用
progress作为参数? -
@deviantfan 但是这个另一个函数应该以同样的方式声明进度参数吗? void(* __stdcall 进度)(int) ?
-
@Tom 是的,应该。
-
还可以考虑使用
typedef作为函数指针类型。这使事情看起来更好,尤其是当各种函数将其作为参数时。 (如果您需要修改回调的签名,这会让事情变得更容易。) -
@TheUndeadFish Typedef 很棒,谢谢!