Когда я скомпилировал этот заголовочный файл timer.hpp ниже, компилятор сказал:
ошибка: нет совпадения для 'operator =' (типы операндов: 'std :: chrono :: _ V2 :: system_clock :: time_point {aka std :: chrono :: time_point>>}' и 'std :: __ success_type>> :: type {aka std :: chrono :: duration>} ') end = std :: chrono :: high_resolution_clock :: now () - начало;
Я предполагаю, что тип переменной для начала и конца неправильный. Какой правильный тип? Я хочу использовать std::chrono::high_resolution_clock
.
#include <chrono>
namespace timer{
static std::chrono::system_clock::time_point start, end;
void initTime(){
start = std::chrono::high_resolution_clock::now();
}
void endTime(){
end = std::chrono::high_resolution_clock::now() - start;
}
}
timer.hpp должен использоваться с некоторым основным файлом.
Вызывая timer::initTime()
перед некоторой функцией, которую я хочу измерить, и вызывая timer::endTime()
после функции, я бы получил результат синхронизации (получатель (время здесь опущено).
chrono
: youtube.com/watch?v=P32hvk8b13M It решает такие проблемы. - person Howard Hinnant   schedule 22.06.2017