我尝试使用这段代码:
\n\nQPoint pt;\nQHash<QPoint, double> hexes;\nhexes.contains(pt);\nRun Code Online (Sandbox Code Playgroud)\n\n我收到错误:
\n\nerror: no matching function for call to \xe2\x80\x98qHash(const QPoint&)\xe2\x80\x99\nRun Code Online (Sandbox Code Playgroud)\n\n但如果我用“int”替换“QPoint”,它编译得很好。是否可以使用 QPoint 作为 QHash 键类型?
\n散列qHash函数没有为 定义QPoint,但您可以使用编写一个QPair<int,int>
inline uint qHash (const QPoint & key)
{
return qHash (QPair<int,int>(key.x(), key.y()) );
}
Run Code Online (Sandbox Code Playgroud)