crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Помогите исправить ошибку
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
iReset Дата 10.9.2012, 17:46
 
Цитата(Intry @ 10.9.2012, 18:35) *
А не подскажете, что тут надо подправить?
...
Строчка на которую ругается:
if (ssi_struct.Name != 0)

...

Смотря что сей код должен делать. Вместо нуля посмотри в сторону isEmpty() и isNull().
Intry Дата 10.9.2012, 17:35
 
Цитата(Алексей1153 @ 10.9.2012, 15:36) *
ну сделай ему явное приведение, раз он так хочет )

if (UIN[i] == (char)0xd0)

Спасибо, помогло. А не подскажете, что тут надо подправить?

Ошибка:
Цитата
\Qt\untitled-build-desktop-Qt_4_8_1_for_Desktop_-_MSVC2010__Qt_SDK_________\..\untitled\myclient.cpp:121: ошибка: C2666: QByteArray::operator !=: для 10 перегрузок есть подобные преобразования
\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\QtCore/qbytearray.h(289): может быть "bool QByteArray::operator !=(const QString &) const"
\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\QtCore/qstring.h(1240): или "bool operator !=(const char *,const QStringRef &)"
\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\QtCore/qstring.h(1206): или "bool operator !=(const QString &,const QStringRef &)"
\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\QtCore/qstring.h(938): или "bool operator !=(const char *,const QString &)"
\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\QtCore/qbytearray.h(537): или "bool operator !=(const char *,const QByteArray &)"
\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\QtCore/qbytearray.h(535): или "bool operator !=(const QByteArray &,const char *)"
\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\QtCore/qbytearray.h(533): или "bool operator !=(const QByteArray &,const QByteArray &)"
или "встроенный оператор C++!=(QNoImplicitBoolCast, int)"
или "встроенный оператор C++!=(const char *, const char *)"
или "встроенный оператор C++!=(const void *, const void *)"
при попытке сопоставить список аргументов "(QByteArray, int)"


Строчка на которую ругается:
if (ssi_struct.Name != 0)


структура:
struct SSI
{
    qint16 NameLen;
    QByteArray Name;
    qint16 SubGroupNum;
    qint16 GroupNum;
    qint16 Type;
    qint16 DataLen;
    QByteArray Data;
};
Алексей1153 Дата 10.9.2012, 14:36
  ну сделай ему явное приведение, раз он так хочет )

if (UIN[i] == (char)0xd0)
Intry Дата 10.9.2012, 11:21
  Здравствуйте.
При компиляции проекта возникают ошибки:
1. myclient.cpp:65: ошибка: C2666: QByteRef::operator ==: для 2 перегрузок есть подобные преобразования
\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\QtCore/qbytearray.h(475): может быть "bool QByteRef::operator ==(char) const"
или "встроенный оператор C++==(char, int)"
при попытке сопоставить список аргументов "(QByteRef, int)"

кусок кода на который ругается(в частности на строчку "if (UIN[i] == 0xd0)" и "if (UIN[i] == 0xd1);"):
QByteArray MyClient::DecryptUINToAscii(QByteArray UIN)
{
    //qint8 dob = 0;
    QByteArray text;
    for (int i = 0; i < UIN.size(); i++)
    {
        if (UIN[i] == 0xd0)
        {
            i++;
            if (UIN[i] == 0xd1);
            text.append(Int8ToArray(UIN[i]+16*3));
        }

Помогите, пожалуйста, исправить.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 14:34