operator/( chrono::duration, chrono::duration ) compiliert nicht unter VS 2013



  • Hallo Leute,

    lt. Standard "20.12.5.5 duration arithmetic" und nach Inhalt von <chrono> existiert ein Divisions-Operator ' operator/ ' für chrono::duration. Wenn ich aber dies versuche:

    std::chrono::milliseconds a(89);
        std::chrono::milliseconds b(189);
        auto a_durch_b = a/b;
    

    ... so meldet mein Compiler einen "error C2446: ':' : no conversion from 'std::chrono::milliseconds' to '__int64'".
    Es scheint so, als würde sich der Compiler auf den operator/( chrono::duration, __int64 ) stürzen, um fest zu stellen, dass dies nicht passt, und anschließend die Arbeit einstellt.

    Weiß jemand Rat? Hat einer vielleicht eine Lösung?

    Ich nutze Visual Studio 12.0.31101 Update 4.

    Gruß
    Werner



  • Scheint dein compiler zu alt zu sein.
    Mit c++14 support funktioniert es:
    https://ideone.com/GEj32P


Log in to reply