我遇到了这种语法:
class Wrapper
{
static const char * libname;
public:
Wrapper(void);
static int (__stdcall *myfunction)(int val1, int val1, char val3);
}
myfunction
来自C库,并在头文件中包含此签名:
int __stdcall myfunction(int val1, int val1, char val3);
现在从包装类调用此函数...
Wrapper::myfunction(1,2, 3);
...我希望能够为参数定义标准值,因此我也可以使用较少的参数或无参数调用它。但我不知道在哪里定义它们。在包装器类中,我收到此错误:
error C2383: 'Wrapper::myfunction' : default-arguments are not allowed on this symbol
我真的可以在这里使用一些帮助。谢谢!
答案 0 :(得分:2)
按以下方式在类中定义静态函数成员
static int __stdcall myfunction(int val1 = 1, int val2 = 2, char val3 = 3)
{
return ::myfunction( val1, val2, val3 );
}