考虑:
struct str {};
str operator"" _X(long double d) {
return str();
}
这与 g++ 4.7.2 Wall std=c++11 编译得很好
但现在如果我给一个 double :
str operator"" _X(double d) {
return str();
}
我收到以下错误消息: main.cpp|3|error: 'str operator"" _X(double)' has invalid argument list
问题是什么 ?这与“无法重新定义内置文字后缀的含义”(Stroustrup FAQ)有关吗?你能想出一个解决方法吗?