CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

联接的问题,这个怎么解决啊?

楼主LOWGUN(两只白袜)2003-12-01 14:54:43 在 C/C++ / C语言 提问

报的错误是这样的:  
  Compiling...  
  zifichuan.cpp  
  Linking...  
  nafxcwd.lib(afxmem.obj)   :   error   LNK2005:   "void   __cdecl   operator   delete(void   *)"   (??3@YAXPAX@Z)   already   defined   in   libcpd.lib(delop.obj)  
  nafxcwd.lib(thrdcore.obj)   :   error   LNK2001:   unresolved   external   symbol   __endthreadex  
  nafxcwd.lib(thrdcore.obj)   :   error   LNK2001:   unresolved   external   symbol   __beginthreadex  
  Debug/zifichuan.exe   :   fatal   error   LNK1120:   2   unresolved   externals  
  Error   executing   link.exe.  
   
  zifichuan.exe   -   4   error(s),   0   warning(s) 问题点数:20、回复次数:3Top

1 楼lilachue(静水思雅)回复于 2003-12-01 14:58:21 得分 0

外部变量命名冲突。你程序有变量和外面变量重名了。  
  具体问题需要把你源码贴出来!Top

2 楼LOWGUN(两只白袜)回复于 2003-12-01 15:03:37 得分 0

这是程序代码,我这个写的很糟,目标是要解析(只是解析,而不是运算出结果)一个表达式,只有括号和AND   和OR,就是在定义其运算的优先级时思想比较混乱,这个算法可能是最差的,是不是可以定义个枚举类型来做,但是自己不会,烦请各位帮帮忙看看我这个该怎么样改进?  
  #include   <iostream>  
  #include   <string>  
  using   namespace   std;  
  #include   <afx.h>  
   
  const   int   MaxStackSize=500;  
  typedef   CString   DataType;    
  class   Stack  
  {  
  private:  
  CString   Stacklist[MaxStackSize];  
  public:  
  // Stack(void);  
  void   push(DataType     item);  
  DataType   pop(void);  
  int   ClearStack(void)const;  
  DataType   Peek(void)   const;  
  int   StackEmpty(void)const;  
  int   StackFull(void)const;  
  int   top;  
  };  
   
  void   Stack::push(DataType     item)  
  {  
  if(top   ==   MaxStackSize-1)  
  {  
  cout   <<"Stack   overflow!"<<endl;  
  }  
  top++;  
  Stacklist[top]=item;  
  }  
   
  DataType   Stack::pop(void)  
  {  
  DataType   temp;  
  if   (top   ==   -1)  
  {  
  cout   <<"Attempt   pop   an   empty   stack!"<<endl;  
  }  
  temp=   Stacklist[top];  
  top--;  
  return   temp;  
  }  
  DataType   Stack::Peek(void)const  
  {  
  if(top==-1)  
  cout<<"Attempt   peek   an   empty   stack!"<<endl;  
  return   Stacklist[top];  
  }  
  int   Stack::StackEmpty(void)const  
  {  
  return   top==-1;  
  }  
  int   Stack::StackFull(void)const  
  {  
  return   top==MaxStackSize-1;  
  }  
  int   Stack::ClearStack(void)const  
  {  
  return   top   ==-1;  
  }  
  void   main(void)  
  {  
  // string   z;  
  Stack   DataStack;  
  Stack   SmboleStack;  
  Stack   tmpstackd;  
  Stack   tmpstacks;  
  int   n=0;  
  int   t=0;  
  int   p=0;  
  char   *p1=0;  
  char   *p2=0;  
  char   str[100];  
  memset(str,0,100);  
  char   SumString[500];  
  memset(SumString,0,500);  
  CString   smbole;  
  CString   s;  
  char   result1[100];  
  memset(result1,0,100);  
  char   result2[100];  
  memset(result2,0,100);  
  // char   DataStack[30];    
  // char   DataArray[100];    
  // DataStack=&DataArray;  
  CString   operand1;  
  CString   operand2;  
  CString   tmpd1;  
  CString   tmpd2;  
  CString   tmpstr;  
  // char   SmbolStack[100];  
  // enum   oper  
  // {  
  // lbracket,  
  // rbracket,  
  // and,  
  // or,  
  // };  
  // DataStack=SumString;  
  cout<<"请输入逻辑表达式:"<<endl;  
  cin.getline(SumString,499);  
  cout<<"输入的逻辑表达式为:"<<SumString<<endl;  
  n=strlen(SumString);  
  for(int   i=0;i<n;i++)  
  switch(t)  
  {  
  case   0:  
  if(SumString[i]=='('&&(SumString[i+1]=='and'||SumString[i+1]=='or'||SumString[i+1]=='&'||SumString[i+1]=='|'))  
  cout<<"输入有误,前括号后不能跟操作符,请重新输入!"<<endl;  
  break;  
  case   1:  
  if(SumString[i]==')'&&(SumString[i+1]!='and'||SumString[i+1]!='or'||SumString[i+1]!='&'||SumString[i+1]!='|'))  
  cout<<"输入有误,后括号后只能跟操作符,请重新输入!"<<endl;  
  break;  
  case   2:  
  if((SumString[i]!='('||SumString[i]!=')'||SumString[i]!='and'||SumString[i]!='or'||SumString[i]!='&'||SumString[i]!='|')&&(SumString[i+1]=='('||SumString[i+1]==')'||SumString[i+1]=='and'||SumString[i+1]=='or'||SumString[i+1]=='&'||SumString[i+1]=='|'))  
  cout<<"输入有误,运算符后只能跟操作数,请重新输入!"<<endl;  
  break;  
  case   3:  
  if((SumString[i]=='('||SumString[i]=='and'||SumString[i]=='or'||SumString[i]=='&'||SumString[i]=='|')&&(SumString[i+1]!='('||SumString[i+1]!=')'||SumString[i+1]!='and'||SumString[i+1]!='or'||SumString[i+1]!='&'||SumString[i+1]!='|'))  
  cout<<"输入有误,操作数后只能跟运算符,请重新输入!"<<endl;  
  break;  
  }    
  p1=SumString;  
      for(i=0;i<n;i++)  
      if(SumString[i]=='   '||SumString[i]=='\n'||SumString[i]=='('||SumString[i]==')')  
      {  
      if(SumString[i]=='(')  
      SmboleStack.push(SumString[i]);  
      else  
      {  
      p2=&SumString[i];  
      p=p2-p1;  
      strncpy(str,SumString,p);  
      if(str!="and"||str!="or")  
      DataStack.push(str);  
      else  
  {  
  if(str=="and")  
  {  
  SmboleStack.push(str);  
  p1=&SumString[i+1];  
  operand1=DataStack.pop();  
  operand2=str;  
  tmpstr=tmpd1+"and"+tmpd2;  
  DataStack.push(tmpstr);  
  }  
  else  
  SmboleStack.push(str);    
      p1=&SumString[i+1];  
  }  
      }  
      if(str==")")  
    do   {  
  operand1=DataStack.pop();  
  operand2=DataStack.pop();  
  smbole==SmboleStack.pop();  
  if(smbole=="and")  
  {  
  tmpstr=operand1+smbole+operand2;  
  tmpstackd.push(tmpstr);  
  }  
  else  
  if(smbole=="or")  
  {  
  tmpstackd.push(operand1);  
  tmpstackd.push(operand2);  
  tmpstacks.push("or");  
  }  
  else  
  do{  
  tmpd1=tmpstackd.pop();  
  tmpd2=tmpstackd.pop();  
  smbole=tmpstacks.pop();  
  tmpstr=tmpd1+smbole+tmpd2;  
  tmpstackd.push(tmpstr);  
  }while   (SmboleStack.StackEmpty());  
    }while   (smbole=="(");  
      }  
  cout   <<"求得的值为:"<<   DataStack.Peek()<<endl;  
  }  
  Top

3 楼blh(当你不割肉时,你的损失只是个数字,当你割肉时,你的损失就是你的肉)回复于 2003-12-01 15:06:48 得分 20

1.重复定义delete函数  
  2。没有链接线程库Top

相关问题

  • 请问,这个flash的超联接该怎么做???
  • 怎么进行超联接?
  • 怎么给FLASH图片增加联接
  • 怎么去掉联接的下划线
  • gcc,怎么联接.lib文件?
  • 这个联接有什么问题?
  • dephi中怎么不用ODBC联接数据库,并且用ODBC联接时怎样取消登录框
  • 一个数据庫的两个表怎么建立联接
  • DELPHI怎么联接Access数据库!!!BDE ADO都可以!!!!
  • 用ADOQuery联接MDB数据库,怎么样创建新表

关键词

  • maxstacksize
  • zifichuan
  • 变量
  • datatype
  • unresolved
  • error lnk
  • stack
  • lib
  • obj
  • const

得分解答快速导航

  • 帖主:LOWGUN
  • blh

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo