zhodzky
Просветленный
(48981)
9 лет назад
Это лямбда-выражение. Точнее не сами скобки, а вся функция [c](const Vec3&a,const Vec3&b)
{... здесь сама функция сравнения ...} - является лямбдой. Это новая фича добавленная в C++ в стандарте c++11. Если ваш компилятор ругается, то скорее всего он просто устаревший. В квадратных скобках указываются переменные которые вы вводите в область видимости лямбда выражения (по умолчанию они вводятся по значению). По другому сделать можно, читайте про работу с stl, но проще сменить компилятор.
sort(line.begin(), line.end(), [c](const Vec3&a,const Vec3&b)
{... здесь сама функция сравнения ...}
);
Что означают квадратные скобки перед функцией сравнения?
Visual C++ ругается на этот синтаксис... Как можно написать это по другому?