{
};
typedef CArray <rrr,rrr&> CrrrArray;
1、在使用CArray时出现下列错误:
c:\documents and settings\administrator\桌面\test1_7\test1dlg.h(17) : error C2143: syntax error : missing ';' before '<'
解决方法是:加#include <afxtempl.h> 这个头文件是收集类模板(MFC模板类)的头文件,倘若你在程序中用到了CArray, CObList等数据结构时,那么就得加载该文件。通常在MFC编程中,为了使用集合、数组类,一般在StdAfx.h中加入这条包含语句。
2、CArray是MFC提供的一个模板类,提供了动态数组的功能。它是从CObject派生,第一个参数是数组元素的变量类型,第二个参数是函数调用时的参数类型。
例如:
typedef struct _tagSensor
{
float m_fUpLimit; //传感器最大值
float m_fUpLimitValue;//传感器最大值
float m_fLowLimit; //传感器最小值
float m_fLowLimitValue;//传感器最小值
}Struct_Sensor,*pStruct_Sensor;
typedef CArray<Struct_Sensor,Struct_Sensor&> Array_Sensor;
其中,比如CArray<Struct_Sensor,Struct_Sensor&> oop 就是定义了Struct_Sensor类型的数组,数组名称是oop。
如果以后要经常用到CArray<Struct_Sensor,Struct_Sensor&>这个来定义数组,那么
typedef CArray<Struct_Sensor,Struct_Sensor&> Array_Sensor;
Array_Sensor lzh; 就相当于定义了一个名称为lzh的数组。