Question

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?

Was it helpful?

Solution

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)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top