奇怪的错误c2660"函数不带1个参数"

War*_*tin 2 c++ base-class derived-class default-value

我的基类有这个功能

LRESULT CBaseClass::OnTestFunction(WPARAM id, LPARAM=0)
{
...
}
Run Code Online (Sandbox Code Playgroud)

当派生类调用此函数时

OnTestFunction(nId);
Run Code Online (Sandbox Code Playgroud)

我得到一个错误C2660:"函数不带1个参数".

这是为什么 ?

unq*_*ind 5

您需要将默认值放在头文件的类定义中.

class CBaseClass {
    ....
    LRESULT OnTestFunction(WPARAM id, LPARAM=0);
    ....
};
Run Code Online (Sandbox Code Playgroud)