はC++ 2011年2月11日ドラフト§2.14.8によれば、ユーザリテラルのタイプは、文字列リテラル、文字リテラル - リテラル浮動、整数リテラルです。関数リテラル型を行う方法はありません。
ユーザ定義リテラルがリテラルオペレータ又は リテラルオペレータテンプレート(13.5.8)へのコールとして扱われます。 ud-接尾辞Xのある特定のユーザー定義リテラルLのこのコールの形式を確認するには、リテラル接尾辞の識別子がXの リテラル演算子IDを、Lのコンテキストで照合して、修飾されていない名前ルックアップ (3.4.1)。このルックアップによって見つかった宣言の集合をSとする。 S は空であってはならない。
整数:
operator "" X (n ULL)
operator "" X ("n")
operator "" X <’c1’, ’c2’, ... ’ck’>()
はフローティング:
operator "" X (f L)
operator "" X ("f")
operator "" X <’c1’, ’c2’, ... ’ck’>()
文字列:
operator "" X (str, len)
operator "" X <’c1’, ’c2’, ... ’ck’>() //unoffcial, a rumored GCC extension
文字:
operator "" X (ch)
私は、ユーザー定義リテラルの引数は常に 'char *'と 'size_t'であると思いますか? –