Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие _ Помощь по QList

Автор: ALeXUI 30.4.2011, 21:41

Здравствуйте, я начинающий программист QT, поэтому если вопрос кому-то покажется глупым, прошу не ругать!)
Проблема заключается в следующем, есть указатель на сокет QTcpSocket *pClientSocket
Мне нужно записать его в список, я решил попробывать QList <QTcpSocket>
Но просто путем добавления

QList <QTcpSocket> *ListSocket = new QList <QTcpSocket>();
ListSocket->append(pClientSocket);

Не получается, подскажите пожалуйста как сделать)

А вообще проблема заключается в следующем, мне нужно отслеживать находится ли юзер в онлайне или офлайне. Если онлайн то добавление в лист, указатель на сокет, если отключился то удаление. Хотелось бы ещё услышать совет, по поводу того как удалять.

Заранее Спасибо)

Автор: Litkevich Yuriy 30.4.2011, 23:57

Цитата(ALeXUI @ 1.5.2011, 0:41) *
QList <QTcpSocket> *ListSocket = new QList <QTcpSocket>();
ListSocket->append(pClientSocket);
Тут проблема не в Qt, а в Си++.
Разберём по строчкам:
1-ая:
QList <QTcpSocket> *ListSocket; // Объявили указатель на список QTcpSocket
ListSocket = new QList <QTcpSocket>(); // инициализировали указатель пустым списком, созданным в куче.


2-ая:
ListSocket->append(pClientSocket); // пытаемся запихнуть указатель на QTcpSocket, в список,
                                // который должен содержать объекты QTcpSocket (а не указатели


Цитата(ALeXUI @ 1.5.2011, 0:41) *
есть указатель на сокет QTcpSocket *pClientSocket
Мне нужно записать его в список
если нужен список указателей, то именно список указателей и нужно делать:
QList <QTcpSocket*> sockets; // создали список указателей
...
pClientSocket = new QTcpSocket(); // инициализировали (существующий) указатель на QTcpSocket, объектом созданным в куче
sockets->append(pClientSocket); // поместили указатель в список указателей

Автор: ALeXUI 1.5.2011, 12:45

Cпасибо, огромное)) Глупо ошибся)
А можете подсказать, как лучше делать поиск и удаление?

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)