0

我遇到了这种语法:

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

我真的可以在这里使用一些帮助。谢谢!

4

1 回答 1

2

通过以下方式在类内部定义静态函数成员

static int __stdcall myfunction(int val1 = 1, int val2 = 2, char val3 = 3)
{
    return ::myfunction( val1, val2, val3 );
}
于 2013-10-18T13:19:49.073 回答