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

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

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Функция toInt() через указатель не работает.

Автор: Daan 15.10.2010, 21:05

Имеется массив QString xg[5][3];
xg[0][2]="10000";
Также указатель QString *volume_str;
volume_str = &xg[0][2];
Не работает такая инструкция. Аменно возвращается не 10000 а false, т.е. 0
int result = volume_str->toInt(); //не работает

Мне нужно чтобы переменная result содержала 10000. В чем ошибка ?



Автор: igor_bogomolov 15.10.2010, 21:53

У меня все работает

void TestTest::testCase1()
{
    QString xg[5][3];
    xg[0][2]="10000";
    QString *volume_str;
    volume_str = &xg[0][2];
    int result = volume_str->toInt();
    qDebug() << result << xg[0][2] << xg[0][2].toInt();
    QCOMPARE(result, xg[0][2].toInt());
}

Цитата
PASS : TestTest::initTestCase()
QDEBUG : TestTest::testCase1() 10000 "10000" 10000
PASS : TestTest::testCase1()
PASS : TestTest::cleanupTestCase()
Totals: 3 passed, 0 failed, 0 skipped
********* Finished testing of TestTest *********

Автор: Daan 15.10.2010, 22:19

Спасибо, поищу ошибку у себя.

Понял в чем ошибка, я просто писал xg[0][2]="10 000"; :rolleyes:

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