Есть класс, назовём его A. Есть другой класс, назовём его B, этот класс имеет поле (член-данное), назовём его f1. Поле f1 – экземпляр A. Кроме f1, класс B имеет ещё как минимум одно поле другого типа, назовём его f2. Класс A имеет метод (функцию-член), назовём его m. Есть экземпляр B, назовём его b. Метод m может получить указатель на f1:
A B::=&B::f1;
. А как по этому p получить адрес объекта b? Я попробовал вычесть p из this и привести тип, пишет, что у бинарного минуса операнд типа указатель на класс не валиден. Методу m нужно значение f2, а делать специально в классе B ещё один метод у которого будет на один параметр меньше, и который только вызовет f1.m(f2), не охота. Есть кроме прямого текста ещё какой-то способ получить адрес объекта, членом которого является *this?
Сообщение отредактировано: Ирокез -
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)