写程序时有这样一小段:
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的值,都没有问题,就这一次。想不明白哪位能说明一下?