cpp: reset arg count on macro redefinition