Я знаю, что указатель this
неявно передается членам-членам при их вызове. Когда я пытаюсь получить адрес указателя this
(через &this
), я получаю ошибку компилятора «lvalue required». Почему это?Почему я получаю сообщение об ошибке при использовании & this?
class st
{
int a,b;
public :
void print()
{
cout << &this; //gives lvalue required... why?
cout << this; //will print address of object.
}
}
Итак, какая часть сообщения об ошибке вы не понимаете? – Brian
Если вы определили 'st * ptr = new st;' и хотите распечатать адрес вновь выделенного объекта, вы должны использовать 'std :: cout << ptr;', правильно? '& ptr', очевидно, неверно. Почему «это» будет другим? – rici