Eclipse编译器:非静态成员和错误2
Getting 2 ERROR Messeges Eclipse compiler: non static member and error 2
我是c++新手,我一直在做任务培训。该任务是在使用类和访问私有整数时进行计算。
这是我的完整代码。
#include <iostream>
using namespace std;
class Calculatour{
public:
int SumNum(int a, int b){
cin >> a;
cin >> b;
x = a+b;
return x;
}
private:
int x;
};
int main() {
Calculatour ADD;
cout << ADD.SumNum;
return 0;
}
我在这行得到了一个错误:
cout << ADD.SumNum;
这里写着
对非静态成员函数的引用必须调用ADD calculator using classes.cpp/ADD calculator using classes/src line 37 C/c++问题
我也一直得到这个错误了:
make: *** [src/ADD calculator using classes.]错误1使用C/c++类添加计算器问题
请认为我是语言的新手。所以如果你能提供一个解决方案和解释,这将非常有帮助。
谢谢
调用带参数的方法(或函数)时,即使不使用参数,也必须提供参数。由于在这个方法中,您不打算将参数用于任何用途,也没有强制您包含这些参数的类层次结构,因此您不妨丢弃它们。
#include <iostream>
using namespace std;
class Calculatour
{
public:
int SumNum()
{
int a;
int b;
cin >> a;
cin >> b;
x = a + b;
return x;
}
private:
int x;
};
int main()
{
Calculatour ADD;
cout << ADD.SumNum();
return 0;
}
思想上更正确的解决方案(Calculator类应该做Calculator的事情,而不是Data In/Out的事情)应该是在main中读入a和b,然后调用SumNum。
#include <iostream>
using namespace std;
class Calculatour
{
public:
int SumNum(int a, int b)
{
x = a + b;
return x;
}
int SumNum(int a) // takes advantage of the stored x value
{
x += a;
return x;
}
private:
int x = 0;
};
int main()
{
Calculatour ADD;
int a;
int b;
cin >> a;
cin >> b;
cout << ADD.SumNum(a, b);
cout << ADD.SumNum(a);
return 0;
}
编译器没有办法告诉
int SumNum()
{
int a;
int b;
cin >> a;
cin >> b;
x = a + b;
return x;
}
从int SumNum()
{
int a;
cin >> a;
x += a;
return x;
}
,所以你不能利用重载和使用相同的方法名执行不同输入的不同任务。
说你想要
double SumNum()
{
double a;
double b;
cin >> a;
cin >> b;
return a + b;
}
接受浮点输入。你不能。您必须更改方法的名称或使用模板。
相关文章:
- 静态成员函数使用相同的名称时出现模板类型名称错误
- 为什么传递非静态成员函数会导致编译错误?
- 在 T 的静态成员中使用 sizeof(T) 的 c++ 错误
- 错误:无效使用非静态成员函数"int test::hotplug_callback(libusb_contex
- C :(不重复)积分静态成员初始化(不仅是声明!),导致链接器错误,原因
- 错误:在 C++ 中无效使用非静态成员函数
- C++类静态成员函数调用错误
- 结构内部的结构:"对非静态成员的非法引用"错误
- 在C 中,静态成员函数是否继承了?如果是,为什么没有出现歧义错误
- gcc 和 clang 中 constexpr 静态成员变量的链接器错误
- C++ 线程函数指针实现返回错误无效使用非静态成员函数
- 错误:必须调用对非静态成员函数的引用 (2)
- C++ PTHREAD 错误:非静态成员函数的使用无效
- 私有静态成员 - 编译错误?
- 使用C ,使用SFINAE测试静态成员的存在,返回错误的值
- 静态成员函数访问静态私有变量时的链接器错误
- 关于在 ndk r15 中的类中初始化的静态成员的不满意链接错误
- Visual 2015 C++编译器:使用对象调用静态成员不会导致编译器错误
- 线程错误:非静态成员函数的使用无效
- "Undefined reference to" 错误/静态成员变量 C++/Qt