Qt и вызов Close()

shisik

Well-known member
26.08.2007
154
0
#1
Есть необходимость получения списка доступных 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() :)
В чём же проблема?
 

shisik

Well-known member
26.08.2007
154
0
#3
Спасибо, помогло. А я временно выходил из положения с помощью функции
Код:
void inline port_close(int fd)
{
close(fd);
}