余晖~ 2022-04-29 12:53 采纳率: 90.3%
浏览 15
已结题

这个比较函数问题出在哪儿?

定义一个用于sort排序的比较函数,编译时发生错误不知道错在哪里

struct node{
    int id;
    int x, y;
};

bool cmp(node a, node b){
    return a.x ** 2 + a.y ** 2 < b.x **2 + b.y **2;
}

sort(v.begin(), v.end(), cmp);

#错误内容
[Error] invalid type argument of unary '*' (have 'int')

  • 写回答

3条回答 默认 最新

  • 不知怎么说 2022-04-29 13:51
    关注

    C++好像并没有 a**b这种写法吧,计算次方应该是调函数 pow(a,b);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月7日
  • 已采纳回答 4月29日
  • 创建了问题 4月29日