【发布时间】:2017-11-25 23:49:53
【问题描述】:
当我在下面编译这个 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(),我会得到计时结果(这里省略了持续时间的getter)。
【问题讨论】:
-
这是
chrono的视频教程:youtube.com/watch?v=P32hvk8b13M 它解决了诸如此类的问题。