Проблема здесь в том, что вы определяете operator bool
, но по звукам этого вы хотите operator ==
.Кроме того, вы можете явно привести к void *
следующим образом:
if ((void *)a1 == (void *)a2) {
// ...
}
... но это действительно странно.Не делай этого.Вместо этого определите ваш operator ==
как это внутри class A
:
bool operator==(const A& other) const {
return /* whatever */;
}