3

私は 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 をコンパイラとして使用しています。また、 .proファイルを追加QMAKE_CXXFLAGS+=-std=c++11して、 c++11 サポート用のコンパイラ フラグを追加する必要がありました。

4

1 に答える 1