C++ 错误:应为‘’;或‘’;在‘之前&’;代币
错误:C++ 错误:应为‘’;或‘’;在‘之前&’;代币,c++,operator-overloading,C++,Operator Overloading,错误: expected ‘,’ or ‘...’ before ‘&’ token randomNumberMagnifier.h:32: error: ISO C++ forbids declaration of ‘randomNumberMagnfier’ with no type randomNumberMagnifier.h:32: error: ‘std::ostream& randomNumberMagnifier::operator<<(std::os
expected ‘,’ or ‘...’ before ‘&’ token
randomNumberMagnifier.h:32: error: ISO C++ forbids declaration of ‘randomNumberMagnfier’ with no type
randomNumberMagnifier.h:32: error: ‘std::ostream& randomNumberMagnifier::operator<<(std::ostream&, int)’ must take exactly one argument
[singha1@cs1 p4]$
#ifndef RANDOMNUMBERMAGNIFIER_H
#define RANDOMNUMBERMAGNIFIER_H
#include <iostream>
#include <fstream>
using namespace std;
class randomNumberMagnifier
{
int addFactor;
int multFactor;
bool addOn;
bool multOn;
int randomNumber;
static const int MAX_ADD_FACTOR = 100;
static const int MAX_MULT_FACTOR = 20;
static const int MAX_RANDOM = 200;
public:
randomNumberMagnifier();
randomNumberMagnifier(const randomNumberMagnifier& arandom);
//~randomNumberMagnifer();
randomNumberMagnifier& operator=(const randomNumberMagnifier& rhs );
// randomNumberMagnifier& operator==(const randomNumberMagnfier& rhs );
ostream& operator<<(ostream& o, const randomNumberMagnfier& rhs );
randomNumberMagnifier(bool aState, bool mState);
int randomMagnifier();
int getAdd();
int getMult();
bool getAddState();
bool getMultState();
int getRandomNumber();
void display(ostream& out) const;
};
#endif
ostream& operator<<(operator& out, const randomNumberMagnifier& rhs)
{
rhs.display(out);
return out;
//cout << this->getAdd()=rhs.getAdd();
/*
cout << this->multFactor;
cout << this->addOn;
cout << this->multOn;
cout << this->randomNumber;
*/
}
void randomNumberMagnifier :: display(ostream& out)const
{
out << addFactor << multFactor << randomNumber;
}
“&”标记之前应为“,”或“…”
随机数放大镜。H:32:错误:ISO C++禁止声明“无编号放大倍数”,没有类型。
randomNumberMagnifier.h:32:error:'std::ostream&randomNumberMagnifier::operator
ostream&operator这只是代码中的一个输入错误。您编写了randomNumberMagnifier
而不是randomNumberMagnifier
仍然存在此错误:“std::ostream&randomNumberMagnifier::operator谢谢!!!即使在你们指出它之后,我也花了一段时间。仍然有这个错误:“std::ostream&randomNumberMagnifier::operator@AmaninderSingh建议在类外实现此函数。的确,运算符它起作用了,但是您能解释一下为什么需要在类外实现它吗?
ostream& operator<<(ostream& o, const randomNumberMagnfier& rhs );