Переменная сеанса доступа в виде бритвы .net core 2

Самые внутренние парсеры в вашем примере будут выражением, а в C ++ грамматика определяет expression как assignment-expression или другой expression, за которым следует запятая, а другая assignment-expression (Приложение A.4 - Грамматика / Выражения).

Грамматика далее определяет assignment-expression как один из нескольких других типов выражения, ни один из которых не может быть ничем (или только пропуском).

So причина, по которой вы не можете A a(()), просто потому, что грамматика этого не позволяет. Тем не менее, я не могу ответить, почему люди, которые создали C ++, не позволяли этому конкретному использованию пустых парнеров как своего рода особый случай - я бы предположил, что они предпочли бы не вставлять такой особый случай, если бы разумная альтернатива.

13
задан Shyju 3 November 2017 в 09:52
поделиться