У меня есть глобальный объект «X» и класс «A». Мне нужна функция F в A, которая имеет возможность изменять содержимое X.Измените объект, не используя его как параметр
По какой-то причине X не может быть элементом данных A (но A может содержать некоторый элемент Y в качестве ссылки X) и также F не может иметь никакого параметра, поэтому я не могу передать X в качестве параметра в F. (Здесь A - это диалог, а F - это слот без каких-либо параметров, например accept())
Как изменить X в пределах F, если я не могу передать X в него? Есть ли способ дать А знать, что «Х» - это объект, который нужно изменить? Я пытаюсь добавить что-то вроде SetItem, чтобы указать X в A, но не удалось.
Вот что я хочу сделать, спасибо: D –
Как насчет ограничения, что «X не может быть членом данных A»? –
Удерживает x по значению, поэтому это не позволяет X изменять объект, как требуется OP. Переменная-член должна быть изменена на тип X *, но тогда F() должен обрабатывать случай, когда указатель имеет значение null, т. Е. SetX() еще не был вызван. –