Ребята, у меня есть какая-то глупая структура, давайте назовем ее X, и у меня также есть функция fnc (не являющаяся ее членом), возвращающая указатель на эту структуру, поэтому она выглядит так:
struct X
{
bool operator==(const X* right)
{
//...
}
};
X* get(X* another)
{
//...
}
У меня также естьстрока в коде, которая «пытается» сравнить указатели с этими структурами, но реальное намерение состоит в том, чтобы сравнить те структуры, на которые указывают:
if (get(a) == get(b))//here obviously I have two pointers returned to be compared
{
//...
}
Я также определил член X operator==(const X* right)
, который предполагает работать в вышеупомянутых ситуациях, нопо причине, которую я не понимаю, это не так.Как заставить это работать (Я НЕ МОГУ изменить строку if (get(a) == get(b))
, а также get
ДОЛЖЕН вернуть указатель).