Определите статический QStringList напрямую - PullRequest
0 голосов
/ 11 января 2019

Я хочу создать и определить статический QStringList во внешнем файле. С gcc ist это можно сделать так:

static QStringList list1 = {item1, item2, item4, ...};

Но с помощью компилятора visualStudio c ++ это сделать невозможно. Я получаю ошибку:

список инициализаторов не может быть преобразован в QStringList

Для меня важно, чтобы я мог определить список сразу после объявления.

Потому что я не хочу определять его в основном файле.

Например:

main.cpp:

#include "stringlist.cpp"    
int main()
{
    QList<QStringList> list;
    list << list1;
}
...

stringlist.cpp:

#include <QStringList>
static QStringList list1 = {"hi", "hello"};

Я хочу сделать это, потому что определение QStringList очень длинное, и это очень сбивает с толку, если такое большое определение находится где-то между другим кодом.

1 Ответ

0 голосов
/ 11 января 2019

Я нашел способ решить проблему:

Вы должны ввести следующий фрагмент в свой .pro файл.

DEFINES += Q_COMPILER_INITIALIZER_LISTS
...