我正在尝试比较执行一段代码与固定整数所花费的时间。
例如:
auto startProcessingTime = chrono::high_resolution_clock::now();
chrono::duration<int> timeDiff = (chrono::duration_cast<chrono::seconds>(chrono::high_resolution_clock::now() - startProcessingTime));
if (timeDiff > 12) {
// DO SOMETHING
continue;
}
但是在运行它时,我收到以下错误:
二进制表达式的操作数无效("chrono::d uration"和"int"(
如何将timeDiff
转换为整数?
我也尝试过:
chrono::seconds s = chrono::duration_cast<chrono::seconds>(timeDiff);
然而
二进制表达式的操作数无效("chrono::seconds"(又名 "持续时间"(和"int"(
任何帮助将不胜感激。
你需要告诉它12
是什么意思。是秒吗?毫秒?所以要么投它:
chrono::seconds(12)
或者(我最喜欢的(让它成为时间文字。如果您的意思是 12 秒,那么:
using namespace std::chrono_literals;
// ...
if (timeDiff > 12s) {
如果是毫秒:
if (timeDiff > 12ms) {