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

一个关于友元函数的问题

#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-04 04: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条)

报告相同问题?

悬赏问题

  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)