| 
					 Название: QDataStream: No device Отправлено: gmltA от Июня 24, 2012, 10:37 Добрый день 
					Есть класс QPacket. У него 2 публичных члена QByteArray dev, QDataStream out. Конструктор имеет вид Код: QPacket::QPacket(clientOpcode opcode) Код: QPacket packet(C_AUTH_START); Название: Re: QDataStream: No device Отправлено: mutineer от Июня 24, 2012, 10:42 Локальные переменные конструктора вижу, публичных членов класса не наблюдается. Вероятно ошибки потому, что packet.out ничем не инициализирован 
					Название: Re: QDataStream: No device Отправлено: gmltA от Июня 24, 2012, 11:33 QDataStream out(&dev, QIODevice::WriteOnly); Разве не инициализация?Название: Re: QDataStream: No device Отправлено: mutineer от Июня 24, 2012, 11:34 QDataStream out(&dev, QIODevice::WriteOnly); Разве не инициализация?Это создание и инициализация локальной для конструктора переменной out Название: Re: QDataStream: No device Отправлено: gmltA от Июня 24, 2012, 11:43 QDataStream out(&dev, QIODevice::WriteOnly); Разве не инициализация?Это создание и инициализация локальной для конструктора переменной out Код: void setStream(QDataStream stream) { out = stream; }Название: Re: QDataStream: No device Отправлено: mutineer от Июня 24, 2012, 11:45 Можно использовать список инициализации конструктора, можно использовать  
					void QDataStream::setDevice ( QIODevice * d ) для установки девайса Название: Re: QDataStream: No device Отправлено: gmltA от Июня 24, 2012, 11:52 Можно использовать список инициализации конструктора, можно использовать  void QDataStream::setDevice ( QIODevice * d ) для установки девайса Код: void initStream(QDataStream stream) { out.setDevice(stream.device()); }Название: Re: QDataStream: No device Отправлено: mutineer от Июня 24, 2012, 11:56 Код: void initStream(QDataStream stream) { out.setDevice(stream.device()); }смотря что ты собираешься с этим делать. Но два ДатаСтрима на одни девайс это не есть хорошо Название: Re: QDataStream: No device Отправлено: gmltA от Июня 24, 2012, 11:58 смотря что ты собираешься с этим делать. Но два ДатаСтрима на одни девайс это не есть хорошо Тогда я вообще не понимаю.Можете объяснить как сделать корректную инициализацию публичного QDataStream в конструкторе с публичным же QByteArray? Название: Re: QDataStream: No device Отправлено: mutineer от Июня 24, 2012, 12:02 смотря что ты собираешься с этим делать. Но два ДатаСтрима на одни девайс это не есть хорошо Тогда я вообще не понимаю.Можете объяснить как сделать корректную инициализацию публичного QDataStream в конструкторе с публичным же QByteArray? Используй список инициализации, Люк. или сделай в конструкторе out.setDevice(&dev) (если out и dev это члены класса) Название: Re: QDataStream: No device Отправлено: gmltA от Июня 24, 2012, 12:17  |