A point from the ISO C++ Draft n3290 : 3.4.0 2nd point

A name “looked up in the context of an expression” is looked up as an unqualified name in the scope where the expression is found.

Would someone please explain this statement with an example?

有帮助吗?

解决方案

It says that the scope which contains the expression will be searched for the name. i.e.

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

if you have this code the name do_something will be searched in the scope of foobar, bar, foo and in the global scope (and not in other namespaces, structs or function scopes)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top