Как устранить неоднозначность вызова функции в GCC C ++?

Я получаю следующее предупреждение об ошибке:

reference to 'selectionMode' is ambiguous
candidates are: virtual KFile::SelectionMode KFileView::selectionMode() const
virtual KFile::SelectionMode selectionMode() const;

Вызов выглядит следующим образом:

    return KFileIconView::selectionMode();

Как я могу устранить неоднозначность вызова, чтобы сослаться на первый или второй вариант (я думаю, что второй является правильным)?

ОБНОВИТЬ:

В настоящее время я исправил сборку, заменив вызов следующим: return KFileIconView :: KFileView :: selectionMode (); Я думаю, что это выбирает первого кандидата. Как я могу выбрать второго кандидата, если первый не тот?

-1

Решение

Вы должны использовать оператор разрешения области действия для устранения неоднозначности этих функций.

Вызов режима KFileView :: selection вне класса:

KFileView view;
view.selectionMode();

::selectionMode(); Используется для вызова глобальной функции изнутри реализации KFileView.

KFileView::selectionMode(); Используется для вызова функции-члена из реализации KFileView.

2

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector