Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 其中';错误是什么?为什么这个程序是错误的?_C++_Function_Class_Object_Overloading - Fatal编程技术网

C++ 其中';错误是什么?为什么这个程序是错误的?

C++ 其中';错误是什么?为什么这个程序是错误的?,c++,function,class,object,overloading,C++,Function,Class,Object,Overloading,我正在做一个家庭作业练习,我必须为一个分数创建一个类,但是当我编写代码时,我遇到了运算符a过载的问题{ min=a; } 否则{ min=den; } 对于(int i=min;!(den%i==0&&a%min==0);i+=min){ k=i; } 返回k; } 无效设置(int a){ num=a; } 无效设置(int a){ den=a; } int getn(){ 返回num; } int getd(){ 返回巢穴; } }; istream&operator>>(istream&i

我正在做一个家庭作业练习,我必须为一个分数创建一个类,但是当我编写代码时,我遇到了运算符a过载的问题{ min=a; } 否则{ min=den; } 对于(int i=min;!(den%i==0&&a%min==0);i+=min){ k=i; } 返回k; } 无效设置(int a){ num=a; } 无效设置(int a){ den=a; } int getn(){ 返回num; } int getd(){ 返回巢穴; } }; istream&operator>>(istream&in,Frazione f){ int n,d;
cout您错过了此处第二个参数的参考:

istream& operator>>(istream& in,Frazione &f)

参数f只能通过引用来访问。

您在此处错过了第二个参数的引用:

istream& operator>>(istream& in,Frazione &f)

参数f只能通过引用访问。

您的
操作员>
通过值而不是引用获取
Frazione
参数。您正在将输入读取到副本中,该副本将被丢弃一次finishes@Yksisarvinen谢谢你,所以在操作符>>重载的情况下,我总是要在另一方面通过引用来使用您的
operator@ric当它用于从流输入数据时,那么(可能)是的,它应该总是通过引用。至少我想不出任何不应该这样使用它的好例子。您的
操作符>
通过值而不是引用获取
Frazione
参数。您正在将输入读取到副本中,并且该副本在函数运行后被丢弃finishes@Yksisarvinen谢谢,所以对于重载of运算符>>我始终必须通过引用来使用另一方面的
operator@ric当它用于从流输入数据时,那么(可能)是的,它应该总是通过引用。至少我想不出任何不应该这样使用它的好例子。