저는 연산자 정의의 작동 방식을 보면서 방황하고 있습니다. 다음 코드는 "후보 함수가 없습니다"라는 오류 메시지를 표시합니다.내 연산자를 정의하는 데 문제가 있습니다 ...
근본 원인 이외의 비판도 환영합니다. 감사!
#include <iostream>
using std::cout; using std::cin; using std::endl;
using std::string;
class SomeClass {
public:
SomeClass(int newNum, string newString) { num=newNum; str = newString; }
SomeClass& operator=(const SomeClass& rh) {
string newVal(rh.getStr());
str = newVal;
}
void setStr(string newString) { str = newString; }
const string getStr() { return str; }
string toString() { return str+str; }
private:
string str;
int num;
};
int main() {
SomeClass a(5, "five");
SomeClass b(3, "three");
cout << a.toString() << endl << b.toString() << endl;
a=b;
cout << a.toString() << endl << b.toString() << endl;
}
어떤 줄에 오류가 있습니까? –
다음 번엔 우리가 뼈를 던져서 적어도 그것이 무엇인지에 관해 말하면 좋을 것입니다. 정확한 오류 메시지의 복사본도 가지고 있으면 좋을 것입니다. –