【问题标题】:Cannot define user defined literals无法定义用户定义的文字
【发布时间】:2014-07-17 23:18:57
【问题描述】:

我正在阅读有关用户定义文字的内容,并且遇到了这个 sn-p,但是当我尝试使用它时出现编译器错误。

int operator ""_fix(long double d)
{
     // returns d as a 1.15.16 fixed point number
     return (int)(d*65536.0f);
}

它说错误:需要一个操作员。我在 Visual STudio 2013 上,我相信它对 C++ 11 有很好的支持。任何想法出了什么问题?

【问题讨论】:

标签: c++ c++11 user-defined-literals


【解决方案1】:

请记住,"" 之后和后缀之前必须有一个空格。 所以你应该写:

int operator "" _fix(long double d)
{ // ...

【讨论】:

  • 这不是真的,也没有回答问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-18
  • 1970-01-01
  • 2017-12-26
  • 1970-01-01
  • 2021-10-21
  • 2011-07-19
  • 2012-10-15
相关资源
最近更新 更多