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() :)
В чём же проблема?
 
пишите ::close()
 
Спасибо, помогло. А я временно выходил из положения с помощью функции
Код:
void inline port_close(int fd)
{
close(fd);
}
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab