Voo
Voo

Reputation: 30235

chrono literals in VS2015

The following code gives me a compile time error:

#include <chrono>

int main() {
    auto day = 24h;
    return 0;
}

Error C3688: invalid literal suffix 'h'; literal operator or literal operator template 'operator ""h' not found.

I'm trying this on Visual Studio 2015 Update 1, which according to this should work, so what's going on?

Upvotes: 5

Views: 2521

Answers (1)

Kerrek SB
Kerrek SB

Reputation: 477512

The literals aren't in the global namespace. Add this:

using namespace std::chrono_literals;

Depending on the situation, you might also consider using:

using std::chrono::operator""h;

instead of importing every name from that namespace if you need more fine grained control.

Upvotes: 15

Related Questions