最近做一个项目,要用到正则表达式,现在就因为正则表达式没有完成所以项目耽搁。一开始想用greta,感觉太复杂,现在用CAtlRegExp,但是出现编译错误,如下:
ompiling...
ConcreteRegex.cpp
c:\program files\microsoft visual studio .net 2003\vc7\atlmfc\include\atlcoll.h(214) : error C2660: 'VarCmp' : function does not take 4 parameters
c:\program files\microsoft visual studio .net 2003\vc7\atlmfc\include\atlcoll.h(219) : error C2660: 'VarCmp' : function does not take 4 parameters
c:\program files\microsoft visual studio .net 2003\vc7\atlmfc\include\atlcoll.h(303) : error C2039: 'CAutoPtr' : is not a member of 'ATL'
        c:\program files\microsoft visual studio .net 2003\vc7\atlmfc\include\atlcoll.h(308) : see reference to class template instantiation 'ATL::CAutoPtrElementTraits<T>' being compiled
c:\program files\microsoft visual studio .net 2003\vc7\atlmfc\include\atlcoll.h(303) : error C2065: 'CAutoPtr' : undeclared identifier
        c:\program files\microsoft visual studio .net 2003\vc7\atlmfc\include\atlcoll.h(308) : see reference to class template instantiation 'ATL::CAutoPtrElementTraits<T>' being compiled
c:\program files\microsoft visual studio .net 2003\vc7\atlmfc\include\atlcoll.h(303) : error C2275: 'T' : illegal use of this type as an expression
        c:\program files\microsoft visual studio .net 2003\vc7\atlmfc\include\atlcoll.h(308) : see reference to class template instantiation 'ATL::CAutoPtrElementTraits<T>' being compiled
c:\program files\microsoft visual studio .net 2003\vc7\atlmfc\include\atlcoll.h(303) : error C2143: syntax error : missing ',' before '>'
        c:\program files\microsoft visual studio .net 2003\vc7\atlmfc\include\atlcoll.h(308) : see reference to class template instantiation 'ATL::CAutoPtrElementTraits<T>' being compiled
c:\program files\microsoft visual studio .net 2003\vc7\atlmfc\include\atlcoll.h(303) : error C2059: syntax error : '>'
        c:\program files\microsoft visual studio .net 2003\vc7\atlmfc\include\atlcoll.h(308) : see reference to class template instantiation 'ATL::CAutoPtrElementTraits<T>' being compiled
c:\program files\microsoft visual studio .net 2003\vc7\atlmfc\include\atlcoll.h(306) : error C2039: 'CAutoPtr' : is not a member of 'ATL'
        c:\program files\microsoft visual studio .net 2003\vc7\atlmfc\include\atlcoll.h总共有102处错误,我不一一列出

解决方案 »

  1.   

    去微软官方网站下载最新的SDK
      

  2.   

    http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
      

  3.   

    编译器错误 C2660
    “function”: 函数不接受 number 个参数使用错误的参数数量调用了该函数。下面的示例生成 C2660:// C2660.cpp
    void func( int, int );
    int main()
    {
       func( 1 );     // C2660, func( int ) not declared
       func( 1, 0 );  // OK, func( int, int ) was declared
    }
    意外地调用了 Windows API 函数而不是同名的 MFC 成员函数。若要解决此问题: 
    调整该函数调用以符合成员函数调用的格式。 
    使用范围解析运算符 (::) 通知编译器在全局命名空间中查找该函数名。