C++:重载运算符<<时的错误
我在类的定义中写了一句:friendostream&operator<<(ostream&os,constComplex&r);为什么出现如下错误:1>c:\users\...
我在类的定义中写了一句:
friend ostream& operator<<(ostream &os, const Complex& r);
为什么出现如下错误:
1>c:\users\sony\desktop\main\main\complex.h(10): error C2143: 语法错误 : 缺少“;”(在“&”的前面)
1>c:\users\sony\desktop\main\main\complex.h(10): error C2433: “ostream”: 不允许在数据声明中使用“friend”
1>c:\users\sony\desktop\main\main\complex.h(10): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\sony\desktop\main\main\complex.h(10): error C2061: 语法错误: 标识符“ostream”
1>c:\users\sony\desktop\main\main\complex.h(10): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\sony\desktop\main\main\complex.h(10): error C2805: 二进制“operator <<”的参数太少
求助!!谢谢!! 展开
friend ostream& operator<<(ostream &os, const Complex& r);
为什么出现如下错误:
1>c:\users\sony\desktop\main\main\complex.h(10): error C2143: 语法错误 : 缺少“;”(在“&”的前面)
1>c:\users\sony\desktop\main\main\complex.h(10): error C2433: “ostream”: 不允许在数据声明中使用“friend”
1>c:\users\sony\desktop\main\main\complex.h(10): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\sony\desktop\main\main\complex.h(10): error C2061: 语法错误: 标识符“ostream”
1>c:\users\sony\desktop\main\main\complex.h(10): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\sony\desktop\main\main\complex.h(10): error C2805: 二进制“operator <<”的参数太少
求助!!谢谢!! 展开
3个回答
展开全部
定义的时候写成
ostream& 类名::operator<<(ostream &os, const Complex& r);
试试看看可以不
ostream& 类名::operator<<(ostream &os, const Complex& r);
试试看看可以不
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是vc6?vc6的std namespace和friend关键字有冲突
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询