Адрес перегруженных функций

Использование имени функции без аргументов возвращает адрес этой функции.Примеры.

int Func( int i, int j );
int Func( long l );

...

int (*pFunc) ( int, int ) = Func;

В предыдущем примере первая версия Func выделяет и его адрес копируется в pFunc.

Компилятор определяет версию функции, которая будет выбрать путем нахождения функция со списком аргументов точно совпадает с тем, которые целевого объекта.Аргументы в перегруженных объявлении функций совпадают с одним из следующих:

  • Инициализируемые объект (как показано в предыдущем примере)

  • Левая часть оператора присваивания

  • Формального аргумента функции

  • Формального аргумента определяемый пользователем оператор

  • Возвращаемый тип функции

Если нет, то найдено точное соответствие, выражение, которое принимает адрес функции неоднозначно и формируется ошибка.

Обратите внимание на то nonmember, функция Func, используемый в предыдущем примере, применяются те же правила, принимающая адрес перегруженных функций элементов.

См. также

Ссылки

Перегружать