Це питання змусило мене замислитись про те, чи завжди корисно / необхідно повністю кваліфікувати імена класів (включаючи глобального оператора області) у визначенні функції поза класу.
З одного боку, я ніколи не бачив цього робити раніше (а синтаксис, як це правильно зробити, здається неясним). З іншого боку, пошук імен C ++ дуже нетривіальний, тому, можливо, існує кутовий випадок.
Питання:
Чи бував коли-небудь випадок, коли введення визначення функції позакласного члена
ReturnType (::Fully::Qualified::Class::Name::MemberFunctionName)(...) { ... }
відрізнятиметься від
ReturnType Fully::Qualified::Class::Name::MemberFunctionName(...) { ... }
(немає ::
префіксу загальної області )?
Зауважте, що визначення функцій членів необхідно помістити в область імен, що охоплює клас, тому це не є дійсним прикладом.