由於多個實例化,我想保留要寫入的靜態位置。我希望能夠從每個實例化中添加到列表中。但只保留第一個。
不知道該怎麼辦?static QStringList不保留值
適用於char類型的指針。但是,當我試圖轉換QStringList指針,我只是不斷收到錯誤:分段錯誤。
的* .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());
}
}
我認爲你需要在頭文件中聲明你的'QStringList'爲靜態而不是函數。 –
無法在標頭中創建「靜態QStringList msgList」。它在構建時出錯:ld返回1退出狀態 – jdl
@jdl,我更新了我的答案 - 您應該在您的.cpp文件中添加'QStringList CLASS_NAME :: msgList;'以避免鏈接錯誤。 –