f:\program files\microsoft visual studio\vc98\atl\include\atlbase.h(4499) : error C2660: 'VarCmp' : function does not take 3 parameters
f:\program files\microsoft visual studio\vc98\atl\include\atlbase.h(4500) : error C2660: 'VarCmp' : function does not take 3 parameters
Error executing cl.exe.在stdafx.h中加入了这么段程序
#include <atlbase.h>
//You may derive a class from CComModule and use it if you want to override
//something, but do not change the name of _Module
class CProcomModule : public CComModule
{
public:
LONG Unlock();
LONG Lock();
DWORD dwThreadID;
};
extern CProcomModule _Module;
#include <atlcom.h>很奇怪的是,原来编译没错误,现在就有错了。而且在另外一台机子上试都没得问题。郁闷!

解决方案 »

  1.   

    把.PCH文件删掉重新编译一下?
      

  2.   

    我是clean了重编译的,也是一样的
      

  3.   

    clean了,我建议直接把debug删掉,然后重新编译,很明显是atlbase.h和你的CComModule有冲突
      

  4.   

    不对啊,就算把debug删除还是一样的错误。
    如果是CComModule就是定义在atlbase.h中的啊,怎么可能冲突啊。何况我在另一台机子上试都没问题!:(
      

  5.   

    不对啊,就算把debug删除还是一样的错误。
    如果是CComModule就是定义在atlbase.h中的啊,怎么可能冲突啊。何况我在另一台机子上试都没问题!:(------------------------------------
    我知道是定义在里面的,stdafx.h是预编译头文件,你要不 把你的类定义以及atlbase.h从里面移出来,另外建一个头文件,然后包含在stfafx.h中.
      

  6.   

    问题解决了!
    是由于我装SP6出现了问题,导致VC出错!
    结帖!