怎么会出现这种问题?

eatfox 2004-12-22 01:44:59
我用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();
}
}
}


...全文
166 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liulxmooo 2004-12-23
  • 打赏
  • 举报
回复
up
yichuan1982 2004-12-23
  • 打赏
  • 举报
回复
up
xmxjh 2004-12-22
  • 打赏
  • 举报
回复
在文件后增加这几句
#ifdef __cplusplus
}
#endif

和前面的
#ifdef __cplusplus
extern "C" { //程序报错的地方!!!!!!!!!!!!!!!!!!!!!!!!!!
#endif
配套
somedummy 2004-12-22
  • 打赏
  • 举报
回复
这样的问题很可能是使用了由比较大的副作用的宏引起的(其他的某些C里面来的东西也可能带来这样的问题)

你先检查一下你的代码里面有没有引用什么比较过分的宏
北京的雾霾天 2004-12-22
  • 打赏
  • 举报
回复
报错的位置有一定准确无误,一般来说如果由编译不能找到明显的错误,那么你就要考虑一下你的程序其它的地方导致了错误的发生.具体的问题要看你的程序是怎么来设计的,不是一个一定是哪里出错的问题.

7,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧