Неопределенная ссылка при использовании ncurses на Linux

A Comparator - это просто способ сравнить любые 2 элемента типа T.

Что такое x и y в сравнении (x, y) при итерации по списку?

blockquote>

При итерации компаратор вообще не вызывается.

При передаче в метод Collections.sort() компаратор используется всякий раз, когда базовому алгоритму сортировки необходимо сравнить 2 элемента.

Я не уверен, почему вышеприведенная функция не подходит для этого.

blockquote>

Ваша текущая реализация не удовлетворяет документации . compare() необходимо вернуть отрицательное целое число, 0 или положительное целое число, в зависимости от того, как 2 элемента связаны друг с другом.

10
задан Jonathan Leffler 27 August 2017 в 23:18
поделиться

2 ответа

Использовали ли вы при компоновке опцию -lcurses ?

Включение заголовочных файлов позволяет скомпилировать код (поскольку компилятор знает, как выглядит вызов функции из .h ), но компоновщику нужен файл библиотеки, чтобы найти фактический код для ссылки на вашу программу.

15
ответ дан 3 December 2019 в 14:19
поделиться

Как сказал Грег Хьюгилл, вам нужно передать в -lcurses или -lncurses для ссылки на библиотеку curses.

gcc -o hello hello.c -lncurses

Вы также, вероятно, означает использовать initscr () и getch () . Как только я произвожу эти замены, вышеприведенные компиляции для меня.

12
ответ дан 3 December 2019 в 14:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: