Я попытался скопировать указатель на другой, используя метод внутри класса и указатель this
следующим образом.Я даю весь тестовый код, чтобы было понятно, что происходит.
class test {
private:
int x;
public:
void setx(int x);
int getx(void);
void copy(test *temp);
};
void test::setx(int x) {
this->x = x;
}
int test::getx(void) {
return this->x;
}
void test::copy(test *temp) {
this = temp;
}
И я получаю доступ к этому методу из основного, как показано ниже:следующая ошибка
In member function ‘void test::copy(test*)’:
error: lvalue required as left operand of assignment
Все остальные методы, включающие указатель this
, работают нормально, кроме копирующей части.Я делаю элементарную ошибку при использовании указателя this
?