![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
DEADHUNT |
![]()
Сообщение
#11
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: ![]() ![]() ![]() |
вот в чём дело:
7 Another ambiguity arises in a parameter-declaration-clause of a function declaration, or in a type-id that is the operand of a sizeof or typeid operator, when a type-name is nested in parentheses. In this case, the choice is between the declaration of a parameter of type pointer to function and the declaration of a parameter with redundant parentheses around the declarator-id. The resolution is to consider the type-name as a simple-type-specifier rather than a declarator-id. [ Example:
Еще подсказали. Достаточно выражение в r1 и r2 заключить еще в одни скобки и неоднозначность пропадет. этим исключается возможность выбора simple type-specifier. |
|
|
Влад |
![]()
Сообщение
#12
|
Участник ![]() ![]() Группа: Участник Сообщений: 146 Регистрация: 20.3.2009 Из: Санкт-Петербург Пользователь №: 627 Спасибо сказали: 46 раз(а) Репутация: ![]() ![]() ![]() |
Эта особенность синтаксиса описана у Скотта Мейерса в его "Эффективное использование STL" - Совет 6: Остерегайтесь странностей лексического разбора C++.
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 16.2.2025, 18:37 |