类模版 内嵌类
- 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 就好了.