Re[3]: Scope
От: dupamid Россия  
Дата: 13.09.02 08:02
Оценка:
Здравствуйте Павел Кузнецов, Вы писали:

ПК>Судя по всему, стандарт не вполне точен в отношении правил поиска имен, использованных в списке наследования. По крайней мере, ничего лучше 3.3.6/1 мне найти не удалось, и никакой уверенности, что этот пункт уточняет правила поиска имен в данном случае у меня нет, а точки объявления здесь совсем ни при чем.

ПК>
ПК>3.3.6/1
ПК>5) The potential scope of a declaration that extends to or past the end of a class definition also extends to the regions defined by its member definitions, even if the members are defined lexically outside the class (this includes static data member definitions, nested class definitions, member function definitions (including the member function body and, for constructor functions (12.1), the ctor-initializer (12.6.2)) and any portion of the declarator part of such definitions which follows the identifier, including a parameter-declaration-clause and any default arguments (8.3.6).


ПК>По словам Bo-Staffan Lankinen, этот вопрос должен обсуждаться на следующем собрании комитета.


В общем, по-моему, все достаточно ясно 3.3.1\4:
After the point of declaration of a class member, the member name can be looked up in the scope of its class.

Из пункта 3.3.1\5 следует, что точка объявление находится после имени класса, т.е. даже перед «:» (хотя там ничего находиться не может) так что искать внутри объемлющего класса надо. Если вопрос будет поднят в комитете, то за результат можно не беспокоиться, так как дух Стандарта говорит, что искать надо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.