Исходя из точной формулировки (« не должен использоваться »), я бы подумал, что первый пример считается допустимым, поскольку он не использует функцию в любом случае , Он добавляет куда-то ссылку и позволяет функции получить доступ к частным данным. Он не использует main()
, он предоставляет больше доступа к нему.
Во втором примере (взятие адреса) фактически используется main()
в качестве символа, взяв его адрес и поместив его в указатель на функцию. Это не только позволит вам легко нарушать правило не вызывать main изнутри программы, но и взаимодействовать с ней (по крайней мере, информация, которая сообщает, где находится main).