Доброе утро! struct Line { Line() : Line(0,0,0,0)

{}
explicit Line(double x1, double y1, double x2, double y2)
{
px1 = x1; py1 = y1; px2 = x2; py2 = y2;
}
double px1{0}; double py1{0}; double px2{0}; double py2{0};

bool operator< (const Line& rhs) const {
return std::tie(px1, py1, px2, py2) < std::tie(rhs.px1, rhs.py1, rhs.px2, rhs.py2);
}
};
QMap<Line, QString> paths;
Line l1{1,1, 20, 20};
paths.insert(l1, QString("ONE") );
qDebug() << m[l1];

Почему может не работать такой код?
если использую std::map все норм
весь код:
https://gcc.godbolt.org/z/aGdPcETzz

7 ответов

16 просмотров

а где объект m определён?

Вынеси operator< из класса inline bool operator<(const Line &e1, const Line &e2)

Mikhail-Litvinov Автор вопроса
Хасбулат Абдуллин
а где объект m определён?

Спасибо! Имя пришло из верхней записи!

А чем QLine не угодил?

Mikhail-Litvinov Автор вопроса
BAHR
Вынеси operator< из класса inline bool operator<(...

вынес наружу constexpr bool operator< (const Line& lhs, const Line& rhs) { return std::tie(lhs.px1, lhs.py1, lhs.px2, lhs.py2) < std::tie(rhs.px1, rhs.py1, rhs.px2, rhs.py2); } работает, но ведь это чистая орфография +.- читабильность или есть более глубокие подводные камни?

Mikhail-Litvinov Автор вопроса
Илья Быконя
А чем QLine не угодил?

Тут скорей научный интерес, коллега спросил про класс в виде ключа, так что Line это упрощение его линии ... но вот если в классе вектора были бы то по идее не должно было работать т.к. можно изменить вектор и поменяется позиция вершины ....

Похожие вопросы

Обсуждают сегодня

Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Привет!) Кто как юзает переменные в строках?) Чисто ради интереса Вот так: echo "У меня {$bananasAmount} бананов"; Или вот так: echo "У меня ${bananasAmount} бананов";
Виталий
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
разработчик ботов скидывает портфолио, боты которые он уже создал. А вот как узнать что это именно он их создал?
Gosudar
4
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Карта сайта