Then the derived method is no longer an override of the base method. For virtual functions, the arguments cannot change in C++.

(In type theory, they may change in specific ways, but C++ doesn't support this.)