Недавно в исходниках gcc-trunk были реализованы "определяемые пользователем литералы". Скажите, правильно ли я понимаю, что не могу определить "пользовательские литералы" для шаблона variadic char?
template<char... chars>
int operator"" _call() { return sizeof...(chars); }
...
std::cout << "method"_call;
Вверх
Я не понимаю, почему это выражение разрешено:
template<char... chars>
int operator"" _call() { return sizeof...(chars); }
...
std::cout << 12345566_call;
а этот запрещен:
template<char... chars>
int operator"" _call() { return sizeof...(chars); }
...
std::cout << method_call;
?
В чем смысл?
Вверх. это из-за двусмысленности?
Спасибо.