Yandong_Ji 2018-03-03 03:05 采纳率: 66.7%
浏览 870
已采纳

一个关于友元函数的问题

#include
using namespace std;
class Car
{
int size;
public:
void getsize(int j) { size = j; }
friend int leisure(int time,const Car& aobj,const Boat& bobj);
};
class Boat
{
int size;
public:
void setsize(int j) { size = j; }
friend int leisure(int time, const Car& aobj, const Boat& bobj);
};
int leisure(int time, const Car& aobj, const Boat& bobj)
{
int t = time*bobj.size;
return t;
}
int main()
{
Car c;
c.getsize(2);
Boat b;
b.setsize(3);
cout << leisure(5, c, b);
}

c:\school learning\vshomework\consoleapplication2\consoleapplication2\源.cpp(8): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\school learning\vshomework\consoleapplication2\consoleapplication2\源.cpp(8): error C2143: 语法错误: 缺少“,”(在“&”的前面)

展开全部

  • 写回答

4条回答 默认 最新

  • 周高超 2018-03-03 20:41
    关注

    class Car
    {
    int size;
    public:
    void getsize(int j) { size = j; }
    friend int leisure(int time,const Car& aobj,**const Boat&** bobj);//此时未声明Boat类
    };
    交换两个类定义的顺序即可

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部