------ Build started: Project: MenuTree, Configuration: Debug Win32 ------Compiling...
SiteMap.cpp
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(137) : error C2062: type 'int' unexpected
        *e:\tree menu\menutree\debug\sitemap.inj:1(9) : see reference to class template instantiation '_com_ptr_t<_IIID>' being compiled
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(137) : error C2334: unexpected token(s) preceding ':'; skipping apparent function body
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(277) : error C2143: syntax error : missing ')' before 'constant'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(277) : error C2143: syntax error : missing ';' before 'constant'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(277) : error C2059: syntax error : ')'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(278) : error C2334: unexpected token(s) preceding '{'; skipping apparent function body
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(453) : error C2143: syntax error : missing ')' before 'constant'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(453) : error C2143: syntax error : missing ';' before 'constant'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(453) : error C2059: syntax error : ')'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(454) : error C2334: unexpected token(s) preceding '{'; skipping apparent function body
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(485) : error C2143: syntax error : missing ')' before 'constant'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(485) : error C2143: syntax error : missing ';' before 'constant'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(485) : error C2059: syntax error : ')'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(486) : error C2334: unexpected token(s) preceding '{'; skipping apparent function body
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(946) : error C2143: syntax error : missing ')' before 'constant'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(946) : error C2143: syntax error : missing ';' before 'constant'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(946) : error C2803: 'operator ==' must have at least one formal parameter of class type
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(946) : error C2805: binary 'operator ==' has too few parameters
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(946) : error C2988: unrecognizable template declaration/definition
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(946) : error C2059: syntax error : 'constant'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(946) : error C2065: '_InterfaceType' : undeclared identifier
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(946) : error C2059: syntax error : ')'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(955) : error C2065: '_InterfacePtr' : undeclared identifier
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(956) : error C2143: syntax error : missing ';' before '{'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(956) : error C2447: '{' : missing function header (old-style formal list?)
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(960) : error C2143: syntax error : missing ')' before 'constant'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(960) : error C2143: syntax error : missing ';' before 'constant'
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(960) : error C2803: 'operator !=' must have at least one formal parameter of class type
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(960) : error C2805: binary 'operator !=' has too few parameters
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(960) : error C2988: unrecognizable template declaration/definition
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(960) : error C2059: syntax error : 'constant'

解决方案 »

  1.   

    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(960) : error C2065: '_Interface' : undeclared identifier
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(960) : error C2059: syntax error : ')'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(969) : error C3861: '_InterfacePtr': identifier not found, even with argument-dependent lookup
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(970) : error C2143: syntax error : missing ';' before '{'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(970) : error C2447: '{' : missing function header (old-style formal list?)
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(974) : error C2143: syntax error : missing ')' before 'constant'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(974) : error C2143: syntax error : missing ';' before 'constant'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(974) : error C2803: 'operator <' must have at least one formal parameter of class type
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(974) : error C2805: binary 'operator <' has too few parameters
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(974) : error C2988: unrecognizable template declaration/definition
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(974) : error C2059: syntax error : 'constant'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(974) : error C3861: '_Interface': identifier not found, even with argument-dependent lookup
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(974) : error C2059: syntax error : ')'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(983) : error C3861: '_InterfacePtr': identifier not found, even with argument-dependent lookup
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(984) : error C2143: syntax error : missing ';' before '{'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(984) : error C2447: '{' : missing function header (old-style formal list?)
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(988) : error C2143: syntax error : missing ')' before 'constant'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(988) : error C2143: syntax error : missing ';' before 'constant'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(988) : error C2803: 'operator >' must have at least one formal parameter of class type
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(988) : error C2805: binary 'operator >' has too few parameters
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(988) : error C2988: unrecognizable template declaration/definition
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(988) : error C2059: syntax error : 'constant'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(988) : error C3861: '_Interface': identifier not found, even with argument-dependent lookup
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(988) : error C2059: syntax error : ')'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(997) : error C3861: '_InterfacePtr': identifier not found, even with argument-dependent lookup
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(998) : error C2143: syntax error : missing ';' before '{'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(998) : error C2447: '{' : missing function header (old-style formal list?)
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1002) : error C2143: syntax error : missing ')' before 'constant'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1002) : error C2143: syntax error : missing ';' before 'constant'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1002) : error C2803: 'operator <=' must have at least one formal parameter of class type
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1002) : error C2805: binary 'operator <=' has too few parameters
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1002) : error C2988: unrecognizable template declaration/definition
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1002) : error C2059: syntax error : 'constant'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1002) : error C3861: '_Interface': identifier not found, even with argument-dependent lookup
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1002) : error C2059: syntax error : ')'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1011) : error C3861: '_InterfacePtr': identifier not found, even with argument-dependent lookup
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1012) : error C2143: syntax error : missing ';' before '{'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1012) : error C2447: '{' : missing function header (old-style formal list?)
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1016) : error C2143: syntax error : missing ')' before 'constant'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1016) : error C2143: syntax error : missing ';' before 'constant'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1016) : error C2803: 'operator >=' must have at least one formal parameter of class type
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1016) : error C2805: binary 'operator >=' has too few parameters
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1016) : error C2988: unrecognizable template declaration/definition
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1016) : error C2059: syntax error : 'constant'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1016) : error C3861: '_Interface': identifier not found, even with argument-dependent lookup
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1016) : error C2059: syntax error : ')'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1025) : error C3861: '_InterfacePtr': identifier not found, even with argument-dependent lookup
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1026) : error C2143: syntax error : missing ';' before '{'
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(1026) : error C2447: '{' : missing function header (old-style formal list?)
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comdef.h(307) : error C3203: 'Font' : class template invalid as template argument for template parameter '_Interface', expected a real type
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comdef.h(314) : error C3203: 'FontEvents' : class template invalid as template argument for template parameter '_Interface', expected a real type
    d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comdef.h(321) : error C3203: 'Picture' : class template invalid as template argument for template parameter '_Interface', expected a real type
    e:\Tree Menu\MenuTree\Debug\msxml4.tlh(0) : fatal error C1903: unable to recover from previous error(s); stopping compilationBuild log was saved at "file://e:\Tree Menu\MenuTree\Debug\BuildLog.htm"
    MenuTree - 84 error(s), 0 warning(s)
      

  2.   

    maybe, you are lost something in your code, for example:  semicolon, comma.
      

  3.   

    象是 工程不完整 造成的 ...确认一下文件完整,
    rebuild 一下
      

  4.   

    装个visual assist 可方便的自动查错
      

  5.   

    struct A {  : int l; };   // C2062
    struct B { private: int l; };   // OK
      

  6.   

    装个visual assist 可方便的自动查错
    这个方法好啊~~,一看哪里是黑色的,就是重点错误
    一般是小问题
      

  7.   

    应该不会,
    我找了半天,
    发现错误的根源是某个cpp文件中的
    # include "***.h"
    但是这个头文件在其他的文件中包含都没有出现过这种错误.
    将这个include 干掉编译就没有问题了,
    仔细检查了一下,
    没有出现头文件重复包含的情况.
    # include "***.h"
    这句include 非常的重要(一个对功能有重要影响的类的声明),
    而且我也没有见过如题所出现这种奇怪的错误,所以欧继续追问个位高手,
    顶楼的问题可能是什么原因造成的.
      

  8.   

    谢谢大家,楼上说的对,是顺序的问题
    把这个include 丢到最前面去就ok了而且欧还有个不良习惯,
    喜欢把函数的实现和函数声明写到一块,就是.h中,
    希望大家引以为戒。