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

C++模板语法有关问题

2012-04-08 
C++模板语法问题templateclass T class Array{private:T* datasize_t countpublic:Array(){data NUL

C++模板语法问题
template<class T> class Array
{
private:
T* data;
size_t count;
public:
Array(){data = NULL;}
Array(size_t count):count(count)
{
data = new T[count];
}
~Array()
{
if(data)
{
delete []data;
data=NULL;
}
}
T& operator[](size_t index)
{
if(index>=count)
{
MessageBox(NULL, L"out of bound", L"out of bound", MB_OK);
exit(0);
}
return data[index];
}
};

template<class T, template<class> class Ary, size_t count> class Container
{
public:
Ary<T> Arry(count);
T& operator[](size_t index)
{
return Arry[index];
}
};

[解决办法]
Ary<T> Arry(int count);//函数参数一定要是类型.
[解决办法]
你确定这个写法是复合C++ template class规范的么?

C/C++ code
template<class T, template<class> class Ary, size_t count> class Container{public:Ary<T> Arry(count);T& operator[](size_t index){return Arry[index];}}; 

热点排行