我的基类有这个函数
LRESULT CBaseClass::OnTestFunction(WPARAM id, LPARAM=0)
{
...
}当派生类调用此函数时
OnTestFunction(nId);我得到一个错误函数:“C2660不接受1个参数”。
为什么会这样呢?
发布于 2010-12-16 20:47:58
您需要将默认值放在头文件的类定义中。
class CBaseClass {
....
LRESULT OnTestFunction(WPARAM id, LPARAM=0);
....
};发布于 2010-12-16 20:48:21
默认值应该在类定义中:
class CBaseClass {
LRESULT OnTestFunction(WPARAM id, LPARAM=0);
};以便派生类可以看到该签名和默认值。
发布于 2010-12-16 20:45:57
签名中不应该有参数的名称吗?像这样:
LRESULT CBaseClass::OnTestFunction(WPARAM id, LPARAM optional = 0)
{
...
}https://stackoverflow.com/questions/4460867
复制相似问题