怎么会出现这种问题?
我用MC++编好程序后编译,我的源程序是TASK00中的FORM1.H,但编译器报错如下:
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\excpt.h(36): error C2143: 语法错误 : 缺少“;”(在“字符串”的前面)
我到响应的地方看到如下:#if !defined(_WIN32)
#error ERROR: Only Win32 target supported!
#endif
#ifdef _MSC_VER
/*
* Currently, all MS C compilers for Win32 platforms default to 8 byte
* alignment.
*/
#pragma pack(push,8)
#endif /* _MSC_VER */
#ifdef __cplusplus
extern "C" { //程序报错的地方!!!!!!!!!!!!!!!!!!!!!!!!!!
#endif
/* Define _CRTIMP */
#ifndef _CRTIMP
#ifdef _DLL
#define _CRTIMP __declspec(dllimport)
#else /* ndef _DLL */
#define _CRTIMP
#endif /* _DLL */
#endif /* _CRTIMP */
他抱怨说另一个程序EXCPT.H有错,但这个程序本身的头文件在我其它的程序中使用都很正常,没有说错,请问这个程序是干什么的,为何说它有错?
附:我的源程序,加上这个函数就出错.
void blackStart()
{
TcpListener *listener1;
while(true){
//try{
listener1=new TcpListener(new IPAddress(static_cast<__int64>(0)),4500);
listener1->Start();
while(true){
activityTextBox->Text=S"Waiting for connection in server black.\r\n";
blackConnection=listener1->AcceptSocket();
blackSocketStream=new NetworkStream(blackConnection);
blackWriter=new BinaryWriter(blackSocketStream);
blackReader=new BinaryReader(blackSocketStream);
try{
while(true){
int temp1=blackReader->ReadInt32();
int temp2=blackReader->ReadInt32();
if (Flag==true){
board[temp1,temp2]=1;
dealWith(board[temp1,temp2]);
activityTextBox->Text=String::Concat(activityTextBox->Text,S"read valid dimension in server black.\r\n");
Flag=false;
whiteWriter->Write(temp1);
whiteWriter->Write(temp2);
}
}
}
catch(Exception *error)
{
blackWriter->Close();
blackReader->Close();
blackSocketStream->Close();
blackConnection->Close();
}
}
}