------ 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'
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'
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)
rebuild 一下
struct B { private: int l; }; // OK
这个方法好啊~~,一看哪里是黑色的,就是重点错误
一般是小问题
我找了半天,
发现错误的根源是某个cpp文件中的
# include "***.h"
但是这个头文件在其他的文件中包含都没有出现过这种错误.
将这个include 干掉编译就没有问题了,
仔细检查了一下,
没有出现头文件重复包含的情况.
# include "***.h"
这句include 非常的重要(一个对功能有重要影响的类的声明),
而且我也没有见过如题所出现这种奇怪的错误,所以欧继续追问个位高手,
顶楼的问题可能是什么原因造成的.
把这个include 丢到最前面去就ok了而且欧还有个不良习惯,
喜欢把函数的实现和函数声明写到一块,就是.h中,
希望大家引以为戒。