Seite 1 von 1

Verständnisfrage

Verfasst: 31. Oktober 2006 17:53
von Locutus
Ich bin gerade dabei bei meinem ersten Projekt unter C++ mit dem Qt-Framework den Sourcecode nach Möglichkeit zusammenzufassen.

So möchte ich z.B. Sachen wie:

Code: Alles auswählen

QDir dir("example");
    if (!dir.exists())
        qWarning("Cannot find the example directory");
durch:

Code: Alles auswählen

    if (!QDir::exists("example"))
        qWarning("Cannot find the example directory");
ersetzen, was in meinen Augen übersichtlicher und auch professioneller ist, da man sich die erste Zeile sparen kann.

Allerdings stolpere ich jetzt über Folgendes. Während dieser Code anstandslos kompiliert wird:

Code: Alles auswählen

bool tz = QFile::exists("bla");
Meldet der Compiler hier einen Fehler (Unzulässiger Aufruf einer nicht statischen Memberfunktion).

Code: Alles auswählen

bool tz =  QDir::exists("bla");
Kann man nicht alle Funktionen so abkürzen, sondern muß den Umweg über z.B. QDir Variable gehen?
Benutze Qt 4.1

Verfasst: 31. Oktober 2006 18:11
von Christian81
Wie Du schon richtig erkannt hast geht es nicht da QDir::exists() nicht statisch ist.

Verfasst: 31. Oktober 2006 18:15
von Locutus
Okay danke für die Antwort, allerdings schade das man nicht alles so verkürzen kann.

Verfasst: 31. Oktober 2006 18:26
von upsala

Code: Alles auswählen

bool e=QDir("example").exists();

Verfasst: 31. Oktober 2006 18:34
von Locutus
Cool, danke für den Tip :D
Dann kann ich die ganzen unschönen Deklarierungen ja rausschmeißen und die Funktionen direkt benutzen!