正如标题所说,我在 VS2008 C++ 程序中遇到编译器错误。我不确定如何更好地描述我的问题而不是在代码中。除非我取消注释 TEST 行,否则以下编译。
#include <windows.h>
#include <iostream>
using namespace std;
//#define TEST //<-- uncomment for error
#ifdef TEST
void test(void* interface)
{
return;
}
#endif
int main()
{
cout << "Hello World" << endl;
system("PAUSE");
return(0);
}
取消注释时,我收到以下错误:
1>main.cpp(7) : error C2332: 'struct' : missing tag name
1>main.cpp(7) : error C2144: syntax error : '<unnamed-tag>' should be preceded by ')'
1>main.cpp(7) : error C2144: syntax error : '<unnamed-tag>' should be preceded by ';'
1>main.cpp(7) : error C2059: syntax error : ')'
1>main.cpp(8) : warning C4094: untagged 'struct' declared no symbols
1>main.cpp(8) : error C2143: syntax error : missing ';' before '{'
1>main.cpp(8) : error C2447: '{' : missing function header (old-style formal list?)
这是非托管代码,所以我不确定接口这个词的问题是什么。有没有办法让这个代码按原样编译,还是我必须将术语接口的每个实例更改为其他东西?
谢谢!