我試圖找到最接近的QMap
RGB值(我知道它可能應該是單純皰疹病毒,但這不是問題)。以下是我走到這一步:地圖 - 尋找最近的價值?
it = images_map.find(current_rgb);
if(it != images_map.begin()){
mi = images_map.lowerBound(current_rgb).value();
}
else{
mi = images_map.upperBound(current_rgb).value();
}
我的地圖看起來像這樣有一個指標:
images_map[ 4283914078 ]
images_map[ 4284046165 ]
images_map[ 4284902241 ]
images_map[ 4289239953 ]
images_map[ 4282200377 ]
images_map[ 4289440688 ]
當我current_rgb
是例如4285046165
這是確定的,但如果有一些值大於最大的索引,程序崩潰。我究竟做錯了什麼?
您在地圖中是否使用自定義比較? – MSalters
nope,無論如何它是QT庫中的'QMap'。 –
好的,刪除STL標記(QMap是從Qt庫,而不是STL) – MSalters