我想在外部文件中创建并定义一个静态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的定义很长,如果这么大的定义位于其他代码之间,则会非常令人困惑。
答案 0 :(得分:4)
我找到了解决问题的方法:
您必须在.pro文件中输入以下代码段。
DEFINES += Q_COMPILER_INITIALIZER_LISTS