私はユーザー定義リテラル(GCC 4.7を使用)で遊んでいます。
double operator"" _lb(long double n)
{
return n * 0.453592; // convert pounds to kilos
}
これは、浮動小数点リテラル(eg 42.0_lb
)を渡す場合は正常に機能しますが、整数リテラル(eg 42_lb
)を渡そうとすると、次のエラーが発生します。
エラー:数値リテラル演算子'operator ""_lb'が見つかりません
私の定義は、(通常の関数の場合のように)_lb
パラメーター間で暗黙の変換を引き起こすべきではありませんか?long double