使用MFC的CArray定义double类型数组,如下所示:
typedef CArray<double, double> CDoubleArray;//double类型数组
编译时提示如下错误信息:
error C2143: 语法错误 : 缺少“;”(在“<”的前面)
error C2059: 语法错误 : “<”
解决办法:
在stdafx.h中添加如下语句:#include <afxtempl.h>
原因:
afxtempl.h是数据收集类模板(MFC template-based Collection Classes)的头文件,倘若你在程序中用到了lists,maps或者arrays等数据结构时,那么最好加载该文件,因为通常在MFC编程中,MSDN建议使用基于模板的(template-based)数据收集类。要在StdAfx.h中加入下面语句:
#include <afxtempl.h>