我有問題。QVector不追加!
出於某種原因,儘管我在爲QString有一個值,做追加()到QVector不工作,我最終仍然只是一個空載體。
QList<QVariant> listServers = mapRepos.values ("servers"); // Finally, the last data structure, for holding server lists.
// Populate the repository information with the server lists.
for (int i = 0; i < listServers.size(); ++i) {
for (int j = 0; j < listServers.at (i).toList().size(); ++j) {
std::cout << "On file: " << listServers.at (i).toList().at (j).toString().toStdString() << std::endl;
std::cout << "Type #: " << listServers.at (i).toList().at (j).type() << std::endl;
buffer3 = listServers.at (i).toList().at (j).toString();
std::cout << "In buffer: (" << buffer3.toStdString() << ")" << std::endl;
arrayRepos.value (j).urls.append (buffer3);
std::cout << "In memory: " << arrayRepos.value (i).urls.value (i).toStdString() << std::endl;
}
}
}
這是源文件中的相關代碼片段。第一COUT返回一個URL,所述第二URL返回10(其根據單證指的QVariant包含字符串,這是正確的,第三個COUT正確輸出的字符串。然後,最後一個不輸出字符串。注意的存在所有我的編程常識告訴我,矢量現在應該填充,但在其大小窺視顯示大小爲0,這意味着QString沒有放入。
該Urls QVector是部分的結構:。
結構回購{
QString的名稱; //名稱資源庫的
QVector <QString>
的網址,服務器或鏡像列表中的地址//
};
QString名稱是早期代碼的一部分,可以正常工作,並且與此問題無關。
我想不出爲什麼append()或push_back()不起作用。
只是一個愚蠢的doubt..For'append'您使用指數作爲'j'和'cout'你正在使用'i'。這是打算嗎? – Naveen 2011-05-05 04:47:07