4

以下代码给了我一个编译时错误:

#include <chrono>

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

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

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

4

1 回答 1

9

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

using namespace std::chrono_literals;

根据情况,您还可以考虑使用:

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

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

于 2016-02-07T15:10:14.133 回答