VS2015中的计时文字

Voo*_*Voo 2 c++ visual-studio user-defined-literals visual-studio-2015

以下代码给出了编译时错误:

#include <chrono>

int main() {
    auto day = 24h;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误C3688:无效的文字后缀'h'; 文字运算符或文字运算符模板'operator'"h'未找到.

我在Visual Studio 2015 Update 1上尝试这个,根据这个应该工作,所以发生了什么?

Ker*_* SB 6

文字不在全局命名空间中.添加这个:

using namespace std::chrono_literals;
Run Code Online (Sandbox Code Playgroud)

根据具体情况,您可能还会考虑使用:

using std::chrono::operator""h;
Run Code Online (Sandbox Code Playgroud)

如果您需要更细粒度的控制,而不是从该命名空间导入每个名称.