Да, так как вы определили вещи, вы должны предоставить значения для всех параметров. Кроме того, последний параметр должен быть переменной, поскольку вы определили его для передачи по ссылке.
Если бывают ситуации, когда это кажется глупым, и вы просто хотите, чтобы он заполнил все 0 и false для вас, вы можете указать в определении значения по умолчанию, например:
LRESULT CRebarHandler::onSetRedraw(UINT uMsg=0, WPARAM wParam=0, LPARAM lParam=0, BOOL& bHandled)
{
(примечание: вы не можете указать значение по умолчанию для bHandled, так как оно передается по ссылке. Это указывает на то, что ваша подпрограмма хочет изменить его и, следовательно, должна быть изменяемой переменной).
Тогда вы можете назвать это так:
onSetRedraw(false)
Другим вариантом будет просто сделать еще одну копию процедуры без каких-либо из этих параметров. Если хотите, вы можете сделать это private
, чтобы его могли вызывать только члены самого класса.