Я пользуюсь библиотекой boost::units
. Моя проблема заключается в том, что я должен бросить свою длину вектора в двойной вектор для расчета в CMATH:Cast boost :: units type to numeric types
pow(tmpVector.at(cnt),cnt)
CNT мой счетчик цикла. Если я попытаюсь выполнить расчет без кастования, я верну ошибку, что нет определения отливки для boost::units::length
в double
.
Я попытался использовать static_cast, который не работает, и numeric_cast библиотеки boost, которая также не работает. Во втором случае я получаю следующее сообщение об ошибке компилятора:
e:\testvs12\libraries\thirdparty\boost\boost\numeric\conversion\converter_policies.hpp(187): error C2440: 'static_cast': 'const std::vector<_Ty>' can not convert into 'std::vector<_Ty>'
Я не нашел ничего в Интернете - я надеюсь, что один из вас может помочь мне
Вопрос 1: есть ли возможность использовать Pow внутри цикла с boost::units
и счетчиком цикла как показатель степени?
Вопрос 2: как я могу нарисовать тип boost::units
, например. двойной?
Заранее спасибо.
Не могли бы вы предоставить [SSCCE] (http://sscce.org), пожалуйста? Я предполагаю, что у вас нет вектора 'length', а вектор' количество '? Вы пытались делить на «метр», «ноги» или какой-либо блок, который вы хотите использовать? 1 метр, преобразованный в двойной, может быть '100.0' (i см),' 39.3701' (дюймы) или что-то еще. –
Это? tmpVector.at (cnt) .value() http://www.boost.org/doc/libs/1_37_0/doc/html/boost/units/quantity.html#id3387713-bb – qPCR4vir
извините, да, я использую вектор количество –
KaHo