静态QStringList没有保留值
static QStringList is not keeping values
由于有多个实例化,我想保留一个要写入的静态位置。我希望能够从每个实例化添加到列表中。但只保留了第一个
不知道该怎么办?
适用于char类型的指针。但当我尝试将QStringList转换为指针时,我不断地得到一个错误:Segmentation Fault。
*.h
QStringList msgList;
*.cpp
fncInit(){
static QStringList MessageList;
msgList = MessageList;//keep the location constant for all new instantiations
}
fncBuild(QString strMessage){
MessageList.append(strMessage); //if I use a pointer QStringList through out, I get Segmentation Fault.
}
fncPrintf(){
for(int i; i < msgList.count(); i++){
printf("%d) %s", i, msgList.at(i).toStdString().c_str());
}
}
您应该在标头中声明您的msgList
静态。不要忘记在.cpp文件中添加QStringList CLASS_NAME::msgList;
。
在您的fncInit
中,您将空的QStringList
分配给msgList
,但无论如何,正确的方法是上面的。
在头文件中,您需要以下代码:
static QStringList msgList;
这将使该静态变量可用于包括该头文件在内的所有函数。
当您在函数中声明msgList
静态时,您正在创建它的本地实例。
相关文章:
- 警告处理为错误这里有什么问题
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 2D数组来自文本输入,中间有空格
- 有根的二进制搜索树.保留与其父级的链接
- 是否有内置方法可以强制转换为不同的基础类型,但保留常量限定符?
- 是否有理由在标题中保留完全专用的模板?
- 如果其他人在等待,是否有标准的STL或QT方法可以产生互惠码,否则请保留它
- 有没有办法在对象上保留弱引用并控制其生存期
- 从QStringList中删除子目录,仅保留父母的目录
- 为什么 std::unordered_map 有保留方法?
- 有没有办法将别名模板推导到模板模板参数,同时仍保留其被推导上下文的属性
- 有没有一种方便的方法可以从属性树中删除节点,同时保留其子节点
- 在visual studio C++中,有没有任何方法可以在运行时增加堆栈保留大小
- 有没有一种方法可以保留C++中以前递归的数据(具体示例)
- 有没有一个C++版本在循环结束后将在for循环初始化中声明的变量保留在作用域中
- 如何保留我的unity3d程序(c#v3.5),即使c ++ dll /本机插件中有exit(1)
- QString[] 和 QStringList 有什么区别
- 静态QStringList没有保留值
- 在不同的文件上有C++类的任何方法都可以将方法定义保留在类中
- 如果向量有足够的空间(通过保留创建),std::vector::insert()是否会使迭代器无效