首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

类模版 内嵌类,该怎么处理

2012-03-24 
类模版 内嵌类C/C++ codetemplate typename Tclass ObjectContainer{public:ObjectContainer():num(0){}

类模版 内嵌类

C/C++ code
template <typename T>class ObjectContainer{public:    ObjectContainer():num(0){}    int push(const T& obj)    {        objectType<T> p(num++,obj);        objList.push_back(p);        return num;    }    T get(int i)    {        objectType<T> t(objList[i]);        return t.obj;    }private:    template<typename T>    struct objectType    {        objectType(int i,T o):objectID(i),obj(o){}        int objectID;        T obj;    };    int num;    std::list<objectType<T> > objList;};


编译的时候get函数出错,请各位指教啊

[解决办法]
vs2008编译无误
[解决办法]
在这个前面加上了
#include <list>

using namespace std;

用VS2005编译通过,用main函数创建一个模板对象成功。

楼主贴上错误原因吧,好让大家帮忙分析一下。
[解决办法]
你把你使用的代码也贴出来吧。很明显不是这里的问题!
[解决办法]
list 不支持用数字下标的方式进行访问.
把你的 list 改成 vector 就好了.

热点排行