Я начал использовать библиотеку GLM в своем коде. Выглядит неплохо, но я не могу делать такие вещи:
void foo (const glm :: vec3 & arg);
foo ({x, y, z});
потому что все конструкторы явные.
Меня это начинает чертовски раздражать. Я не могу придумать веской причины для запрета неявного построения таких простых типов значений. Авторы слепо следовали какому-то не относящемуся к делу изречению или они знают что-то, чего не знаю я?
foo(glm::vec3(x, y, z))
или... может быть, этот синтаксис является причиной того, что они не делают другой явный синтаксис (??) - person mr5   schedule 18.08.2013