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条)

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献