Здравствуйте, Oyster, Вы писали:
A>>Зато как я понял так не сделать
A>>A>>length_t x = 3;
A>>length_t y = 5;
A>>length_t z = 9;
A>>volume_t v = x * y; // упс, забыли z, нихрена не скомпилируется.
A>>
O>Плохо понял — в таком случае именно что не скомпилируется (у величин разные размерности, и проверка этого будет выполняться на этапе компиляции; собственно, задача библиотеки и была вынести подобные проверки на этап компиляции), чего и требуется Ты бы попробовал хоть для начала...
Я как раз хорошо понял. В исходном примере все типы выводились и получалось, что v = x * y — площадь вне зависимости от того, что я имел ввиду. Явно указывать типы это на самом деле очень полезно. А чтобы их указывать явно и гибко нужны нормальные шаблоны.