2010-11-08 8 views

ответ

7

не Хотя синтаксический & допускаются в этом положении в грамматике (это пример описателя, который является последовательностью: PTR-оператор описатель, & будучи PTR-оператор), семантический он не имеет смысл и не допускается здесь. Тот факт, что он действителен исключительно с грамматической точки зрения, может указывать на то, почему Visual Studio может его принять.

Рассматривая возможные возможности, это выражение выглядит как определение функции без возвращаемого типа. 7 [dcl.dcl]/6 говорит: «Только в объявлениях функций для конструкторов, деструкторов и преобразований типов может быть опущен decl-specifier-seq». и там нет ~ или operator, единственная возможность - объявление конструктора.

12.1 [class.ctor]/1 описывает специальный синтаксис декларатора, используемый для конструкторов, и он должен быть только необязательной последовательностью функции-спецификаторы, за которым следует имя класса конструктора. Нет & или другой ptr-operator разрешен перед именем класса конструктора.

Смежные вопросы