VC/MFC类向导ClassWizard的Parsing error错误

 

 

我在vc6.0中打开ClassWizard时出现以下:

Parsing error: Illegal line encountered.

Input Line: "methods: 

"

 

通过查找"methods: ,定位到错误应该出现到以下代码中

properties: // NOTE - ClassWizard will maintain property information here. // Use extreme caution when editing this section. //{{AFX_ODL_PROP(COLPCtrl) //}}AFX_OD,L_PROP methods: // NOTE - ClassWizard will maintain method information here. // Use extreme caution when editing this section. //{{AFX_ODL_METHOD(COLPCtrl) [id(2)] SCODE RecvPacket(VARIANT* varPackData, short cbUserData, VARIANT* varUserData); [id(1)] SCODE InputControl(short cbInputType, VARIANT* varInputData); //}}AFX_ODL_METHOD

但看了半天也没看出有什么出错的地方,都是些注释。注释应该不会出错(我一开始以为)

 

后来我在网上搜索classwizard parsing error,才发现注释也是会出错的。我出错的代码弟五行(//}}AFX_OD,L_PROP),多了个逗号,应该是不小心按到键盘输入的。

MFC中有一种特殊的注释,叫注释宏。注释宏一般由VC自动加入到你的代码中。它是为class wizard服务的,class wizard通过它来定位各种系统自动添加代码的添加位置。若要使用类向导添加成员变量和成员函数,则要保留注释宏;否则,必须手动添加。如果你把它删了,classwizad就不能自动生成代码了 。 你添加消息响应的时候是不是发现源代码里多了些代码??那些代码为什么会在那里出现?为什么不在别的文件里出现?就是因为那里有注释宏它要将代码生成在相应注释宏之间 。 (这个注释是让ClassWizard能够分辨出哪些代码是它生成的,哪些是你自己写的。你自己写的代码要在这个注释之外,这样ClassWizard再修改消息映射的时候就不会管你的代码了。新版本vc(vs)已经没有注释宏了。)

 

你可能感兴趣的:(C++笔记)