我正在使用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 <'。 –