关于在类中定义动态数组的问题
我在一个类中定义一个动态数组的指针类型
class myclass {
....
DynamicArray<int>& IntArray;
....
}
在类的构造函数中传入该数组
myclass::myclass(DynamicArray<int>& IntList)
{
IntArray = IntList; //对IntArray赋值
}
编译时提示,Reference variable 'IntArray' must be initalized
我必须使用DynamicArray<int>&类型,因为需要传入指针,该如何解决?
问题点数:0、回复次数:7Top
1 楼geniusdhc(为了东京大屠杀,努力奋斗+抵制日货)回复于 2004-01-04 12:43:12 得分 0
class myclass {
....
DynamicArray<int> IntArray;//去掉 '&'Top
2 楼geniusdhc(为了东京大屠杀,努力奋斗+抵制日货)回复于 2004-01-04 12:45:23 得分 0
作参数的时候用 & IntArrayTop
3 楼chenxu_sky(陈旭)回复于 2004-01-04 14:02:45 得分 0
如果去掉的话,那么改变IntArray的值并不能改变IntList的值,也就是必须要传入指针才能改变值,我也知道去掉就好,但是这样不能实现我要的目的啊?
是不是我理解有误?望说明Top
4 楼GeoPhoenix(天鸽)回复于 2004-01-04 17:59:28 得分 0
不太清除楼主为什么要这么作,既然知道是整形数组,采用指针的形式我认为还是比较方便的,麻烦少,采用DynamicArray<int>& IntArray这种形式,我认为还不如 int *IntArray;
来得方便,个人之见Top
5 楼54thb(争执&平静)回复于 2004-01-04 18:34:58 得分 0
学习....蹭点点分Top
6 楼pp616(坏蛋)回复于 2004-01-04 22:56:10 得分 0
用void *吧。什么指针都可以传进去。
到时候再强制转换回需要的数据类型。Top
7 楼Friecin(雪客)回复于 2004-01-05 00:39:02 得分 0
同意pp616(混蛋) 的说法。
使用 void *
使用的时候只需要对数据类型进行强制转换,例如:
void * intvalue;
(int *)intvalue;Top




