Да, он обрабатывается как обычный вызов функции, просто вызывается перегруженным оператором.Компилятор проверяет все правильно во время компиляции.C ++ не похож на динамические языки, где он ожидает, пока время выполнения сработает, если p->mynonexistantfunction()
является допустимым именем функции или нет, компилятор отклонит код во время компиляции, если имя функции не существует.
В этом случае это выглядит как опечатка, у S есть функция func2()
, но ваш код вызывает func()
.