参考文章:
http://blog.csdn.net/whz_zb/article/details/6831817
http://www.cppblog.com/Lee7/archive/2008/04/14/47036.html
http://www.cnblogs.com/shiyangxt/archive/2008/09/11/1289493.html
------------------------------------------------------------------------------------------------------------------------
概念: list是双向循环链表,每一个元素都知道前面一个元素和后面一个元素。
-------------------------------------------------------------------------------------------------------------------------
先看一个简单的代码:
#include "stdafx.h"
#include<iostream>
#include <list> //数据结构中的链表
//using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
list<int> nList;
return 0;
}
----------------------------------------------------------------------------------------------------------------------
编译以上代码,会编译不通过,错误提示如下:
error C2065: “list”: 未声明的标识符
error C2062: 意外的类型“int”
----------------------------------------------------------------------------------------------------------------------
以上代码为什么会出错呢?我们不是已经用#include <list>把list给包含进来了吗?
第一次碰到这个错误时,我也是这样认为的。其实不然,list的实现确实是在文件<list>中,
如果我们把list看成一个对象就很好理解了,该对象的声明是在名字空间std中,因此我们把
该名字空间引进程序中,再次编译以上代码时,就不会提示list是未声明的标识符了。添加
以下这行代码即可:
using namespace std; //前面的代码,为了重现错误,我故意将它给注释掉了。
这个错误也是初学者,经常碰到的吧。
-------------------------------------------------------------------------------------------------------------------------
您的十分满意是我追求的宗旨。
您的一点建议是我后续的动力。