Question #15: Which of the following functions are found when called in main during name lookup?

Question #15: Which of the following functions are found when called in main during name lookup?
55% on 10310 times asked

 

#include <iostream>
            namespace standards
            {
            struct datastructure
            {
            };
            void foo(const datastructure& ds)
            {
            }
            void bar()
            {
            }
            }
            int main(int argc, char** argv)
            {
            standards::datastructure ds;
            foo(ds);
            bar();
            return 0;
            }

 

foo - correct
bar
foo and bar
neither

description: This is called koenig lookup or argument dependent name lookup. In this case, the namespace 'standards' is searched for a function 'foo' because its argument 'ds' is defined in that namespace. For function 'bar', no additional namespaces are searched and the name is not found. More details are in 3.4.2.

posted @ 2009-05-11 17:06  飞扬跋扈  阅读(154)  评论(0编辑  收藏  举报