fix argument type of virtual function