Qt需要在Qt的QHash模板中使用的键类型的qHash重载。根据的说法,这个重载需要“在类型的命名空间中”。但这是一个问题,因为在c++中,会向std名称空间添加新的重载。仅将重载添加到全局命名空间也不起作用。
一个最小的例子:
#include <QHash>
#include <string>
//namespace std { // when adding to namespace std it compilies but that is not allowed
static uint qHash(const std::u32string &k