【发布时间】:2012-06-09 00:31:03
【问题描述】:
Clang 3.1 声称支持用户定义的文字。我可以这样定义:
int operator"" _tryit(long double n) { return int(n); }
但是当我尝试使用它时出现错误:
int m = 5_tryit;
整数常量上的无效后缀
'_tryit'
【问题讨论】:
-
int m = 5.0_tryit;怎么样? -
抱歉,如果我侮辱了你的智力,但是……这看起来像是我在 C++03 模式而不是 C++11 模式下编译时遇到的错误,或者当我使用 clang-3.0 时而不是 3.1,不像我在 3.1 的 C++11 模式下滥用后缀时遇到的任何错误。您确定您使用的是正确的版本和 -std 标志吗?