Car*_*izz 4 c++ syntax class function
编辑:感谢所有快速反应,我现在对这个概念有了更好的理解.此外,我将尝试下次更清楚我的错误消息.编辑:用我最新的代码更新.错误发生在第18行.另外,我开始怀疑我的最新问题是否与原始类本身有关?
我正在尝试用C++教自己的类和对象.我做了一次只是声明一个void
函数,在屏幕上输出一些东西,在main中调用对象,一切正常.
现在,我想扩展这个并做一个简单的补充.但是,我在代码块上遇到了一些错误:
error: invalid use of non-static member function 'int Addition::add(int, int)'
error: no matching function for call to 'Addition::add()'
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
#include <iostream>
using namespace std;
class Addition {
public:
int add (int x, int y) {
int sum;
sum=x+y;
return sum;
}
};
int main()
{
int num1;
int num2;
int ans=addobj.add(num1,num2);
Addition addobj;
addobj.add(num1,num2);
cout<<"Enter the first number you want to add"<<endl;
cin>>num1;
cout<<"Enter the second number you want to add"<<endl;
cin>>num2;
cout<<"The sum is "<<ans<<endl;
}
Run Code Online (Sandbox Code Playgroud)
Kir*_*rov 10
开发人员应该学会做的最重要的事情之一就是阅读编译器的消息.很明显:
error: no matching function for call to 'Addition::add()'
Run Code Online (Sandbox Code Playgroud)
你班上的功能是
int add (int x, int y)
Run Code Online (Sandbox Code Playgroud)
它需要2个参数而你没有通过:
addobj.add();
Run Code Online (Sandbox Code Playgroud)
你有2个选择:
x
并将它们作为参数传递y
main
add
不带参数的创建x
和y
内部add
的身体,因为它们的值是从用户输入作出.在这种情况下,作为函数的名称add
,我选择了第一个选项:
int x, y;
在你的内部宣布main
main
(您使用的部分cin
和cout
)x
和y
作为参数,add
像这样:addobj.add( x, y );
int result = addobj.add( x, y );
归档时间: |
|
查看次数: |
19655 次 |
最近记录: |