为了账号安全,请及时绑定邮箱和手机立即绑定

谁能解释一下编译出错是怎么回事啊?

谁能解释一下编译出错是怎么回事啊?

C++
慕标5832272 2022-08-04 19:15:16
void bookmanger::add() //bookmanger类已经定义好了,add函数也写完整了,但是调用的时候怎么调用啊我调用的时候写的是bookmanger::add();但是编译出错:cannot call function"bookmang::add()"without object
查看完整描述

3 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

函数调用的一般形式为:

函数名(实参列表);

实参可以是常数、变量、表达式等,多个实参用逗号分隔。

在C语言中,函数调用的方式有多种,例如:

// 函数作为表达式中的一项出现在表达式中

z = max(x, y);

m = n + max(x, y);

// 函数作为一个单独的语句

printf("%d", a);

scanf("%d", &b);

// 函数作为调用另一个函数时的实参

printf( "%d", max(x, y) );

total( max(x, y), min(m, n) );

在函数调用中还应该注意的一个问题是求值顺序。所谓求值顺序是指对实参列表中各个参数是自左向右使用呢,还是自右向左使用。对此,各系统的规定不一定相同。


查看完整回答
反对 回复 2022-08-08
?
青春有我

TA贡献1784条经验 获得超8个赞

不能用类名调用,要用对象名来调用,比如你可以这样做:先定义一个对象,再用这个对象来调用函数:
bookmanger bm1;
bm1.add();
如果你一定要用类名来调用,可以定义函数为static:
static void bookmanger::add()

查看完整回答
反对 回复 2022-08-08
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

先实例化一个对象,bookmanager bm1;
bm1.add();这样调用。
bookmanger::add()这样的调用方法只有在有方法覆盖或重写时才能调用,或者将该方法设为静态方法。

查看完整回答
反对 回复 2022-08-08
  • 3 回答
  • 0 关注
  • 156 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信