直接定义静态QStringList
Define static QStringList directly
我想在外部文件中创建和定义静态 QStringList。
使用 gcc ist 可以这样做:
static QStringList list1 = {item1, item2, item4, ...};
但是使用 visualStudio c++ 编译器是不可能这样做的。我收到错误:
initializer-list can not be convertedinto QStringList
对我来说重要的是,我可以在声明后直接定义列表。
因为我不想在主文件中定义它。
例如:
main.cpp:
#include "stringlist.cpp"
int main()
{
QList<QStringList> list;
list << list1;
}
...
stringlist.cpp:
#include <QStringList>
static QStringList list1 = {"hi", "hello"};
我想这样做是因为 QStringList 的定义很长,如果这么大的定义介于其他代码之间,那会很混乱。
我找到了解决问题的方法:
您必须在 .pro 文件中键入以下代码段。
DEFINES += Q_COMPILER_INITIALIZER_LISTS
我想在外部文件中创建和定义静态 QStringList。 使用 gcc ist 可以这样做:
static QStringList list1 = {item1, item2, item4, ...};
但是使用 visualStudio c++ 编译器是不可能这样做的。我收到错误:
initializer-list can not be convertedinto QStringList
对我来说重要的是,我可以在声明后直接定义列表。
因为我不想在主文件中定义它。
例如:
main.cpp:
#include "stringlist.cpp"
int main()
{
QList<QStringList> list;
list << list1;
}
...
stringlist.cpp:
#include <QStringList>
static QStringList list1 = {"hi", "hello"};
我想这样做是因为 QStringList 的定义很长,如果这么大的定义介于其他代码之间,那会很混乱。
我找到了解决问题的方法:
您必须在 .pro 文件中键入以下代码段。
DEFINES += Q_COMPILER_INITIALIZER_LISTS