在线等候宏问题?

lwbhero 2002-12-29 08:20:54
我在tc3下编译一段程序时(里面含有一些宏),每当include<iostream.h>时,就出现如下错误:
Compiling ..\PROGRAM\ELUOSI.CPP:
Error ..\INCLUDE\IOSTREAM.H 115: Declaration terminated incorrectly
Error ..\INCLUDE\IOSTREAM.H 116: Declaration terminated incorrectly
Error ..\INCLUDE\IOSTREAM.H 210: Identifier expected
Error ..\INCLUDE\IOSTREAM.H 210: Declaration terminated incorrectly
Error ..\INCLUDE\IOSTREAM.H 303: 'streambuf::base()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 304: 'streambuf::pbase()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 305: 'streambuf::pptr()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 306: 'streambuf::epptr()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 307: 'streambuf::gptr()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 308: 'streambuf::egptr()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 309: 'streambuf::eback()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 310: 'streambuf::ebuf()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 311: 'streambuf::unbuffered()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 312: 'streambuf::blen()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 315: 'streambuf::setbuf(unsigned char *,int)' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 317: 'streambuf::pbump(int)' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 318: 'streambuf::gbump(int)' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 319: 'streambuf::unbuffered(int)' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 321: 'streambuf::in_avail()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 323: 'streambuf::out_waiting()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 324: 'streambuf::allocate()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 327: 'streambuf::sgetc()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 331: 'streambuf::snextc()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 336: 'streambuf::sbumpc()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 341: 'streambuf::stossc()' is not a member of 'streambuf'
Error ..\INCLUDE\IOSTREAM.H 341: Too many error or warning messages


不用<iostream.h>,便可通过编译并能正确运行,我怀疑是宏的问题,我定义的宏有:
#define backcolor 4
#define fillcolor 2
#define width 24
#define leftfrontier 201
#define topfrontier 81
#define upkey 18432
#define downkey 20480
#define leftkey 19200
#define rightkey 19712
#define pausekey 6512
#define esckey 283

请各位高手指点迷津。
谢谢了!
在线等候,解决后马上结贴!
...全文
35 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
SwordMan2001 2002-12-29
  • 打赏
  • 举报
回复
不错!

你的#define width 24 是放在include <iostream.h>的前面吧,放在后面定义就没有问题了。
当然,这时width只能按你的定义来用了。
lwbhero 2002-12-29
  • 打赏
  • 举报
回复
自己搞定,原来#define width 24中的width 与<iostream.h>中的变量冲突,就其改为wide就OK了。
仍然谢谢以上各位的帮助!
疯狂代码 2002-12-29
  • 打赏
  • 举报
回复
缺少头文件,请把源程序贴上来,
那样就知道问题所在了!
SwordMan2001 2002-12-29
  • 打赏
  • 举报
回复
贴上源程序。
lwbhero 2002-12-29
  • 打赏
  • 举报
回复
我用的是tc++3.0,头文件里没有象iostream这样不含.h的头文件,也不支持using namespace std这样的语句(当输入using 时,字体根本不反白)。
SwordMan2001 2002-12-29
  • 打赏
  • 举报
回复
检查include<iostream.h>之前的代码。

贴上源程序。
cadinfo 2002-12-29
  • 打赏
  • 举报
回复
使用命名空间即可解决
cadinfo 2002-12-29
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;
李必胜 2002-12-29
  • 打赏
  • 举报
回复
和宏没有关系吧!!?

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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