我正在使用A *尋路算法,但遇到了錯誤時收到了錯誤,當我將一個名爲節點的結構插入到一個集合中時。該錯誤讀取:「錯誤1錯誤C2678:二進制'<':找不到操作符找到類型爲'const節點'的左手操作數(或沒有可接受的轉換)」,但該錯誤在另一個文件中找到'XSTDDEF '我沒有看過。我不確定它的含義。將結構插入到集合時遇到問題C++
struct node{
int f;
int g;
int h;
int x;
int y;
};
node coords[24] = { -1 };
std::set<node> open;
std::set<node> closed;
int main(int argc, char *argv[]){
coords[4].g = 0;
coords[4].h = heuristic(start, end, start.h);
coords[4].f = start.g + start.h;
coords[4].x = 4;
coords[4].y = 0;
open.insert(coords[4]);
你需要'運營商<''對於作爲node'你的編譯器會告訴你 –
這意味着你的結構不必須操作<它集需要。 – Borgleader
錯誤消息指出**完全**有什麼錯 - 您沒有爲您的struct'node'提供'operator <'。 –