无法定义用户定义的文字

时间:2014-07-17 23:18:58

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

我正在阅读用户定义的文字,我遇到了这个片段,但是当我尝试使用它时出现编译错误。

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有很好的支持。任何想法出了什么问题?

1 个答案:

答案 0 :(得分:-2)

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

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