1、问题的引入
1).观察以下第一块代码:
#include <iostream> using namespace std; class Screen{ public: void test(){ dummy_fcn( ); } void dummy_fcn( ){ } };此代码编译无错误。。。。。。。。。。。。。。。
2).再看以下第二块代码:
#include <iostream> using namespace std; void test(){ dummy_fcn( ); } void dummy_fcn( ){ }此代码编译出错。。。。。。。。。。。。。
3).再看第三块代码:
#include <iostream> using namespace std; void dummy_fcn( ){ } void test(){ dummy_fcn( ); }此代码编译也无错误。。。。。
4).第四块代码:
#include <iostream> using namespace std; class Screen{ public: typedef std::string::size_type index; void test(){ dummy_fcn( ); } void dummy_fcn( ){ cursor = width * height; } private: index cursor; index height, width; };此代码编译并无错误。。。。。。。。。。。。。。。。。。。。。。
5).第五块代码:
#include <iostream> using namespace std; class Screen{ public: void test(){ dummy_fcn( ); } void dummy_fcn( ){ cursor = width * height; } private: index cursor; index height, width; typedef std::string::size_type index; };此代码编译出错。。。。。。。。。。。
类作用域中名字查找的思考(《C++ primer》第四版P382)
原文地址:http://blog.csdn.net/u014633283/article/details/46461489