Прочитав несколько комментариев к этому вопросу, я просмотрел стандарт C++ 11 (не окончательный проект N3337).
Когда я сказал, что понимаю, почему генерируется это предупреждение, я ошибся. Я предположил, что подчеркивание технически не требуется стандартом, а просто является рекомендацией (отсюда предупреждение, а не ошибка).
Но, как заметил Никол Болас, в стандарте используется следующий язык, когда речь идет о пользовательских литералах:
Буквенные идентификаторы суффиксов, которые не начинаются с подчеркивания, зарезервированы для будущей стандартизации. usrlit.suffix
Некоторые буквенные идентификаторы суффиксов зарезервированы для будущей стандартизации; см. [usrlit.suffix]. Объявление, чей literal-operator-id использует такой литеральный идентификатор суффикса, неправильно сформировано, диагностика не требуется. over.literal
Это похоже на язык, используемый для зарезервированных идентификаторов и альтернативных представлений, таких как и, или, не. Я думаю, что это ясно дает понять, что на самом деле это должно быть не предупреждением, а ошибкой.
Это не может быть прямым ответом на вопрос, можно ли отключить, но для меня этого ответа достаточно.
person
cmeub
schedule
13.03.2013
test
на_test
, предупреждение исчезнет. - person iammilind   schedule 12.03.2013_
. GCC не должен позволять вам отключать его, точно так же, как он не должен позволять вам отключать ссылки на r-значения, шаблоны с переменным числом аргументов или любую другую индивидуальную функцию C++11. Радуйтесь, что он позволяет отключить исключения и RTTI. - person Nicol Bolas   schedule 12.03.2013""s
- в мое собственное пространство имен в коде С++ 11) . - person firda   schedule 15.09.2014