通常の文字列リテラルからユーザー定義リテラルを作成するマクロを作成しようとしています。次の 2 行で token を作成する必要があります"foobar"_literal
。
#define AS_LITERAL(TEXT) TEXT ## _literal
AS_LITERAL("foobar");
ただし、 GCC-4.7のプリプロセッサは次のエラーを報告します。
error: pasting ""foobar"" and "_literal" does not give a valid preprocessing token
それを正しく行う方法は?