g++编译错误

ksdjfalsfj 2012-01-04 02:55:56
你好,
我在Redhat 5.5 g++4.1.2编译一个工程的时候碰到如下错误。

/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/fstream.tcc: In member function ‘virtual typename std::basic_filebuf<_CharT, _Traits>::int_type std::basic_filebuf<_CharT, _Traits>::underflow()’:
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/fstream.tcc:289: error: expected unqualified-id before ‘(’ token
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/fstream.tcc: In member function ‘virtual std::streamsize std::basic_filebuf<_CharT, _Traits>::xsputn(const _CharT*, std::streamsize)’:
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/fstream.tcc:612: error: expected unqualified-id before ‘(’ token

请问这是什么问题呢?

谢谢了!
...全文
250 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ksdjfalsfj 2012-01-04
  • 打赏
  • 举报
回复
解决了:
原来自己定义的代码中,
有一句
#if !defined(min)
#define min1(a,b) (((a) < (b)) ? (a) : (b))
#endif //#if !defined(min)

这里跟g++定义的
virtual typename std::basic_filebuf<_CharT, _Traits>::int_type std::basic_filebuf<_CharT, _Traits>::underflow()
函数的
289行:
__ilen = std::min(__avail, __buflen);
有冲突。

我将自定义的min修改成别的名字就好了!

谢谢了!
ksdjfalsfj 2012-01-04
  • 打赏
  • 举报
回复
这一句是g++自己的,
对应fstream.tcc 289行
__ilen = std::min(__avail, __buflen);
qscool1987 2012-01-04
  • 打赏
  • 举报
回复
expected unqualified-id before ‘(’ token
这类错误有好多种情况,一般在前面,把你这句发出来,要不然怎么帮你分析呢?
virtual typename std::basic_filebuf<_CharT, _Traits>::int_type std::basic_filebuf<_CharT, _Traits>::underflow()’:
这句对应的代码发出来
ouyh12345 2012-01-04
  • 打赏
  • 举报
回复
错误地使用()
确保函数调用或变量初始化时,在函数或变量后使用()
luciferisnotsatan 2012-01-04
  • 打赏
  • 举报
回复
error: expected unqualified-id before ‘(’ token
就这个错误

无代码无真相。

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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