от
Когда я пытаюсь вызвать функцию друга определенного класса, передав ссылку на объект этого класса посредством разыменования указателя «this», Eclipse выдает ошибку несоответствия типов, но программа все равно компилируется и работает нормально. Чтобы увидеть, является ли это чем-то эксклюзивным для Eclipse, я попытался запустить код с несколькими онлайн-компиляторами. onlinegdb и codechef скомпилированы и работают без ошибок. Так как программа технически работает, я мог бы просто проигнорировать эту ошибку и двигаться дальше, но так как я не хочу столкнуться с каким-либо неопределенным поведением в будущем, возможно, было бы лучше разобраться с этим прямо сейчас.
#include 

class Foo
{
public:
    Foo ()
    {
        Bar (*this); //<

Сообщение об ошибке:
Неверные аргументы
Кандидатами являются:
Void Bar (Foo

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

1 Ответ

0 голосов
от
Перемещение объявления друзей в начало объявления класса решило проблему. По-видимому, это происходило из-за того, что средство проверки синтаксиса Eclipse не могло правильно проверить код. Спасибо @Sam Varshavchik и @john за их полезные ответы.     
Добро пожаловать на сайт ByNets, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...