不能定义用户定义的字面值
Cannot define user defined literals
我正在阅读关于用户定义的文字,并且我遇到了这个代码片段,但是当我试图使用它时,我得到了编译器错误。
int operator ""_fix(long double d)
{
// returns d as a 1.15.16 fixed point number
return (int)(d*65536.0f);
}
显示Error: Expected an operator。我使用的是Visual STudio 2013,我相信它对c++ 11有很好的支持。你知道哪里出了问题吗?
请记住,""
之后和后缀之前必须有一个空格。所以你应该写:
int operator "" _fix(long double d)
{ // ...
相关文章:
- 使用谷歌协议缓冲区 - 如何在.proto文件中定义字段
- g++ 命令行宏定义字节流
- VB6和c++布尔字面值
- 为什么添加两个字符串字面值不使用操作符+
- 在编译时定义字符串/char字面值
- c++的字符串字面值如何存储在内存中?
- 为什么可以向字符串字面值添加整数?
- 用户定义字面值如何与数字分隔符一起使用
- 可修改字符串字面值的用例
- c++ constexpr vs宏,字符串字面值vs整数
- 字符串对字符串字面值的优化不够
- 是否有可能合法地重载字符串字面值和const char*
- UnicodeString /字符串字面值vs十六进制值
- 为什么将指针的内容修改为字符串字面值是错误的?
- 可变char模板的用户定义字面值
- c++: Std::cout缓冲区错误?对字符串变量和字符串字面值使用std::cout导致输出混乱
- 不能定义用户定义的字面值
- C/ c++预处理器中的宏参数字符串化为宽字符串字面值
- 是否可以检查是否为给定类型和参数定义了用户字面值
- 在用户定义的字面值参数中的初始化列表