Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

namelookup with Unqualified name : C++0x draft n3290

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?

like image 212
user751747 Avatar asked Jun 15 '11 11:06

user751747


1 Answers

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)

like image 186
Fabio Fracassi Avatar answered Oct 07 '22 02:10

Fabio Fracassi