CArray ???的问题 CArray <myType, myType&> a_type[2];表示两个myType的数组???还是表示两个myType型别的变量??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CArray <TYPE,ARG_TYPE> myArrayCArray是一个模板,TYPE,第一个是模板参数,用来指明存储在数组中的对象的类型,是CArray返回的参数。ARG_TYPE,第二个用来访问存储在数组中对象的参数类型,传递到CArray的参数通常是TYPE的引用.CArray<myType,myType&> myArray也就说你定义了一个myArray这样一个动态数组。数组中的元素类型是myType类型的myType可以是基本类型,也可以是你定义的结构 2 个数组a_type[0]和a_type[1] CArray <myType, myType&> a_type[2];就是两个动态数组a_type[0]和a_type[1];两者的中的元素类型都是myType CArray是一个动态数组的类,因此你的问题可以等价为CPoint pt[3]是否是一个数组问题。回答当然是数组了,只不过数组这个词在CArray中有了新的含义了!你的声明说明a_type[0]是一个CArray<myType,myType&>的“数组”。 如果是前者class myType{ int i;};a_type[0].i??? CArray<CPoint,CPoint> myArray;// Add elements to the array.for (int i=0;i < 10;i++) myArray.Add( CPoint(i, 2*i) );// Modify all the points in the array.for (i=0;i <= myArray.GetUpperBound();i++){ myArray[i].x = 0;} a_type[0].i是不对的因为这个i不是a_type[0]的元素,它的元素类型是myType,而i只是myType中的成员变量你可以a_type[0].GetAt(0).i;或者用a_type[0].Operater&[0].i试试 写错了是a_type[0].Operater[](0).i 既然你看过了msdn,你就应该明白了CArray<CPoint,CPoint> myArray[2];CPint pt[2];如果说pt[2]是数组,包含两个CPoin结构,那么myArray[2]包含两个CArray,而每个CArray是一个动态数组,所以a_type[2]应该是表示两个myType的数组!!! 求个VC98的MSDN CTypedArray与CObArray的小问题 【给 颦儿 拉票】-- 颦儿参加天涯社区09年月历天使拉票贴 怎么修改mfc_activeX控件的 GUID/ClsID? 如何编程清空打印机的待打印项? 工作区中myview.cpp突然变成16进制代码 一个非常奇怪的可连接点对象应用问题,向各位组件高手请教!! 如何获取拖拽文件的路径?? 如何得到CTREE的每个ROOT项 我发现问题的原因了,但我该怎么解决呢? CListCtrl中如何取消选择?很急的问题!!! 学网络编程应该看什么书
CArray是一个模板,TYPE,第一个是模板参数,用来指明存储在数组中的对象的类型,是CArray返回的参数。ARG_TYPE,第二个用来访问存储在数组中对象的参数类型,传递到CArray的参数通常是TYPE的引用.
CArray<myType,myType&> myArray
也就说你定义了一个myArray这样一个动态数组。数组中的元素类型是myType类型的
myType可以是基本类型,也可以是你定义的结构
a_type[0]和a_type[1]
就是两个动态数组a_type[0]和a_type[1];两者的中的元素类型都是myType
回答当然是数组了,只不过数组这个词在CArray中有了新的含义了!你的声明说明a_type[0]是一个CArray<myType,myType&>的“数组”。
class myType{ int i;};a_type[0].i???
for (int i=0;i < 10;i++)
myArray.Add( CPoint(i, 2*i) );// Modify all the points in the array.
for (i=0;i <= myArray.GetUpperBound();i++)
{
myArray[i].x = 0;
}
因为这个i不是a_type[0]的元素,它的元素类型是myType,而i只是myType中的成员变量
你可以a_type[0].GetAt(0).i;或者用a_type[0].Operater&[0].i试试
是a_type[0].Operater[](0).i
CArray<CPoint,CPoint> myArray[2];
CPint pt[2];如果说pt[2]是数组,包含两个CPoin结构,那么myArray[2]包含两个CArray,而每个CArray是一个动态数组,所以a_type[2]应该是表示两个myType的数组!!!