Я начал использовать библиотеку GLM в своем коде. Кажется довольно хорошим, но я не могу делать такие вещи:Почему конструкторы GLM являются явными?
void foo (const glm :: vec3 & arg);
foo ({x, y, z});
потому что конструкторы все явные.
Это начинает раздражать меня. Я не могу придумать веские причины запретить неявное построение таких простых типов значений. Неужели авторы слепо следовали каким-то неуместным изречениям или не знают чего-то, чего у меня нет?
Как насчет 'foo (glm :: vec3 (x, y, z))' или ... может быть, этот синтаксис является причиной того, что они не делают другого сильного синтаксиса (??) – mr5
Почему вы спрашиваете * us * вместо создателя библиотеки? –