我有一个函数read
(它接受并返回void
),它将文件中的数据存储到QHash<QString,QHash<QString,QString> >
中 - 为了清楚起见,让我们调用适合此模板的任何QHash { {1}}。我的目标是制作一个存在的所有hash
es的“主”列表,这将是hash
- 让我们称之为QHash<QHash<QString,QHash<QString,QString> > >
。在masterHash
内,一切正常:read
和masterHash["hash1"]
相同。
我有另一个函数hash1
(它采用write
形式的QString并返回"hash1"
),它将void
中的数据存储到文件中。现在,我的目标是首先创建masterHash["hash1"]
- 从masterHash
访问hash1
。在"hash1"
内,write
仍包含hash1
中存储的内容,但read
现在为空(尽管masterHash["hash1"]
仍包含密钥masterHash
})。
我做错了什么或错过了什么?在任何地方都没有QHash解除引用。 (原来,我甚至没有存储到"hash1"
,但我试图弄清楚为什么hash1
没有保存。)
或者,是否有更好的方法来实现相同的目标(使用其名称字符串指向哈希)?