【问题标题】:Using operator ""s for std::chrono with gcc使用带有 gcc 的 std::chrono 运算符 ""s
【发布时间】:2018-05-24 07:26:54
【问题描述】:

我想使用类似的东西:

std::chrono::duration<uint64_t, std::milli >  millisecs = 10s;

我明白了:

main.cpp:20:17: 错误:无法找到数字文字运算符'operator""s' 毫秒 = 20 秒; main.cpp:22:17: 注意:使用 -std=gnu++11 或 -fext-numeric-literals 启用更多内置后缀

但我已经编译了:

g++ -fext-numeric-literals --std=c++17 -Wall -pedantic -Wextra main.cpp -O0 -g -o go

我做错了什么?

【问题讨论】:

标签: gcc chrono user-defined-literals


【解决方案1】:

你应该添加对应的namespace:

 using namespace std::chrono_literals;

【讨论】:

  • 'chrono_literals' 不是命名空间名称
  • 什么意思?那是什么?!
  • 异常,在添加命名空间后抛出。从其他线程我发现它与旧 C++ 版本不兼容 (
猜你喜欢
  • 2014-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-26
  • 1970-01-01
相关资源
最近更新 更多