在包装类中使用参数的默认值

时间:2013-10-18 13:10:30

标签: c++ wrapper default-value

我遇到了这种语法:

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

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

1 个答案:

答案 0 :(得分:2)

按以下方式在类中定义静态函数成员

static int __stdcall myfunction(int val1 = 1, int val2 = 2, char val3 = 3)
{
    return ::myfunction( val1, val2, val3 );
}