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

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

Форум на CrossPlatform.RU _ Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие _ Ошибка mkdir()

Автор: ++Norton++ 7.10.2008, 21:50

Посмотрел документацию (http://crossplatform.ru/documentation/qtdoc4.3/qdir.php#mkdir) и написал функцию, которая должна бы была создать директорию:

#include <QtCore>
#include <QDir>

    int main() {
    QTextStream in(stdin);
    QString s;
    in >> s;
    QDir::mkdir(s);
    return 0;
    }

Но как бы не переписывал (и просто mkdir(s) (без QDir:: ) и mkdir("test")) все время выдается ошибка:
n0rt0n@n0rt0n ~/doc/programming/exemplqt/dir $ make
g++ -c -pipe -O2 -march=i686 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o main.o main.cpp
main.cpp:10:6: warning: no newline at end of file
main.cpp: In function 'int main()':
main.cpp:8: error: cannot call member function 'bool QDir::mkdir(const QString&) const' without object
make: *** [main.o] Error 1

Какого объекта не хватает? Вроде если смотреть по документации все должно бы компилироваться и работать...

Все, извиняюсь за созданную тему, вот и сам разобрался. Надо было:
QDir dir;
dir.mkdir(name_of_dir);

Автор: Litkevich Yuriy 7.10.2008, 21:58

++Norton++, не забывай что первым способом обращаются к статическим членам класса, например:
QDir QDir::root () [static]
их используют прямо так:

QDir dir;
dir = QDir::root ();

Автор: Litkevich Yuriy 7.10.2008, 22:56

Тему разделил: http://www.forum.crossplatform.ru/index.php?showtopic=1421

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