写程序时有这样一小段:
DWORD CMainFrame::CreatDocFromTemplate(int index)
{
if( (index<0) || (index>NUM_TEMPLATE) )
{
return Err_OutRange;
}
......
}其中,NUM_TEMPLATE 定义如下:
#define NUM_TEMPLATE 5;编译时,报如下错误:
error C2143: syntax error : missing ')' before ';'
error C2059: syntax error : ')'经查,问题出在 index > NUM_TEMPLATE 这一句比较。如果将 NUM_TEMPLATE 改定义为:
const int NUM_TEMPLATE = 5;
则没有错误。但是,之前的一处函数中,有
for(int i=0; i<NUM_TEMPLATE; i++)
{
......
}不管 NUM_TEMPLATE 采用 define 方式还是 const int 方式,都可以正常运行,而且,以前的工作中出现过比较define的值,都没有问题,就这一次。想不明白哪位能说明一下?
DWORD CMainFrame::CreatDocFromTemplate(int index)
{
if( (index<0) || (index>NUM_TEMPLATE) )
{
return Err_OutRange;
}
......
}其中,NUM_TEMPLATE 定义如下:
#define NUM_TEMPLATE 5;编译时,报如下错误:
error C2143: syntax error : missing ')' before ';'
error C2059: syntax error : ')'经查,问题出在 index > NUM_TEMPLATE 这一句比较。如果将 NUM_TEMPLATE 改定义为:
const int NUM_TEMPLATE = 5;
则没有错误。但是,之前的一处函数中,有
for(int i=0; i<NUM_TEMPLATE; i++)
{
......
}不管 NUM_TEMPLATE 采用 define 方式还是 const int 方式,都可以正常运行,而且,以前的工作中出现过比较define的值,都没有问题,就这一次。想不明白哪位能说明一下?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货