我正在尝试使用 chrono 来测量某个函数花费的时间,所以我的代码如下所示:
#include <chrono>
#include <iostream>
using namespace std;
void doSomething()
{
//code goes here
}
int main()
{
chrono::time_point<chrono::system_clock> start,end;
start=chrono::system_clock::now;
doSomething();
end=chrono::system_clock::now;
}
所以,基本上,我正在关注cppreference中的代码示例。
问题是我在两个start=chrono::system_clock::now
和end=chrono::system_clock::now
error: no match for 'operator=' (operand types are
'std::chrono::time_point<std::chrono::system_clock,
std::chrono::duration<long long int, std::ratio<1ll, 1000000000ll> > >'
and 'std::chrono::system_clock::time_point()noexcept (true)
{aka std::chrono::time_point<std::chrono::system_clock,
std::chrono::duration<long long int, std::ratio<1ll, 1000000000ll> > >()noexcept (true)}')
我也尝试更改chrono::time_point<chrono::system_clock> start,end;
为chrono::system_clock::time_point start,end;
. 错误几乎相同:
error: no match for 'operator=' (operand types are
'std::chrono::system_clock::time_point
{aka std::chrono::time_point<std::chrono::system_clock,
std::chrono::duration<long long int, std::ratio<1ll, 1000000000ll> > >}'
and 'std::chrono::system_clock::time_point()noexcept (true)
{aka std::chrono::time_point<std::chrono::system_clock,
std::chrono::duration<long long int, std::ratio<1ll, 1000000000ll> > >()noexcept (true)}')
我使用 Qt 5.1.0 (32bit) 和 MinGW 4.8 32bit 作为编译器。我还必须通过添加QMAKE_CXXFLAGS+=-std=c++11
我的.pro文件来为 c++11 支持添加编译器标志。