fork(1) download
  1. #include <iostream>
  2. #include <chrono>
  3.  
  4. typedef std::chrono::high_resolution_clock Clock;
  5.  
  6. class Milliseconds : public std::chrono::milliseconds
  7. {
  8. public:
  9. typedef std::chrono::milliseconds Base;
  10. typedef Base::rep Type;
  11.  
  12. using Base::Base;
  13. };
  14.  
  15. inline Milliseconds::Type millisecondsSinceEpoch()
  16. {
  17. return std::chrono::duration_cast<Milliseconds>(Clock::now().time_since_epoch()).count();
  18. }
  19.  
  20. int main() {
  21. using namespace std;
  22. cout << millisecondsSinceEpoch() << endl;
  23. return 0;
  24. }
  25.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function ‘Milliseconds::Type millisecondsSinceEpoch()’:
prog.cpp:17:81: error: no matching function for call to ‘duration_cast(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long int, std::ratio<1ll, 1000000000ll> > >::duration)’
  return std::chrono::duration_cast<Milliseconds>(Clock::now().time_since_epoch()).count();
                                                                                 ^
prog.cpp:17:81: note: candidate is:
In file included from prog.cpp:2:0:
/usr/include/c++/4.8/chrono:193:7: note: template<class _ToDur, class _Rep, class _Period> constexpr typename std::enable_if<std::chrono::__is_duration<_Tp>::value, _ToDur>::type std::chrono::duration_cast(const std::chrono::duration<_Rep, _Period>&)
       duration_cast(const duration<_Rep, _Period>& __d)
       ^
/usr/include/c++/4.8/chrono:193:7: note:   template argument deduction/substitution failed:
/usr/include/c++/4.8/chrono: In substitution of ‘template<class _ToDur, class _Rep, class _Period> constexpr typename std::enable_if<std::chrono::__is_duration<_Tp>::value, _ToDur>::type std::chrono::duration_cast(const std::chrono::duration<_Rep, _Period>&) [with _ToDur = Milliseconds; _Rep = <missing>; _Period = <missing>]’:
prog.cpp:17:81:   required from here
/usr/include/c++/4.8/chrono:193:7: error: no type named ‘type’ in ‘struct std::enable_if<false, Milliseconds>’
prog.cpp:18:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
stdout
Standard output is empty