• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Qt и вызов Close()

  • Автор темы shisik
  • Дата начала
S

shisik

Есть необходимость получения списка доступных COM портов в приложении Qt (диалог выбора порта). Если файл /dev/ttySx существует, то вызов open() вернёт идентификатор открытого файла, который затем нужно закрыть вызовом close(). Но проблема в том, что компилятор ругается на close()
Код:
ComPortSetup.cpp:16: ошибка: нет подходящей функции для вызова ‘ComPortSetup::close(int&)’
/usr/lib/qt4/include/QtGui/qwidget.h:477: замечание: претенденты: bool QWidget::close()
Т.е. он пытается обратится к члену Qt-класса вместо системной функции. Эта функция объявлена в unistd.h, который я благополучно подключил к ComPortSetup.cpp, но он всё равно не видит close() :)
В чём же проблема?
 
S

shisik

Спасибо, помогло. А я временно выходил из положения с помощью функции
Код:
void inline port_close(int fd)
{
close(fd);
}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!