Я работаю над кодом C ++, где я пытаюсь сохранить chrono time
в списке, чтобы я мог прочитать значение позже и вычислить продолжительность времени.
Причина экономии времени в списке заключается в том, что у меня есть несколько объектов, где мне нужно зафиксировать текущее время, когда этот объект был обнаружен, а затем, когда этот объект исчезнет, я должен рассчитать продолжительность времени для этого объекта.
list <double> dTimeList;
auto start = std::chrono::high_resolution_clock::now();
auto it = dTimeList.begin();
advance(it, detection.object_id);
dTimeList.insert(it, start ); //But this is giving error
Ошибка (активна) E0304 нет экземпляра перегруженной функции "std :: list‹ _Ty, _Alloc> :: insert [with _Ty = double, _Alloc = std :: allocator] "соответствует списку аргументов
Ошибка C2664 'std :: _ List_iterator >> std :: list ‹_Ty, std :: allocator ‹_Ty>> :: insert (std :: _ List_const_iterator >>, unsigned __int64, const _Ty &)': невозможно преобразовать аргумент 2 из ' std :: chrono :: stable_clock :: time_point 'до' _Ty && '
dTimeList
? - person Holt   schedule 23.05.2019std::chrono::high_resolution_clock::time_point
, а неdouble
.std::chrono::time_point
не могут быть неявно преобразованы в числовые типы по уважительным причинам. - person Holt   schedule 23.05.2019