Namelookup с неквалифицированным именем: C ++ 0x черновик N3290

StackOverflow https://stackoverflow.com/questions/6356994

  •  28-10-2019
  •  | 
  •  

Вопрос

Точка из проекта ISO C ++ N3290: 3.4.0 2 -й пункт

Название «Взгляд в контексте выражения» рассматривается как неквалифицированное имя в сфере действия, где выражение найдено.

Кто -нибудь, пожалуйста, объяснит это утверждение с примером?

Это было полезно?

Решение

В нем говорится, что применение, которое содержит выражение, будет искать имя. т.е.

namespace foo { 
  struct bar {
    void foobar() {
      do_something();
    }
  };
}

Если у вас есть этот код, имя do_something будет искать в сфере foobar, bar, foo и в глобальном объеме (а не в других пространствах имен, структурах или функциональных областях)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top