2
我玩弄用戶定義文字(與GCC 4.7)。整數值應該傳遞給浮點用戶定義的文字嗎?
double operator"" _lb(long double n)
{
return n * 0.453592; // convert pounds to kilos
}
傳遞時一個浮點字面也能正常工作(如42.0_lb
),但是當我試圖通過一個整數文字(如42_lb
)我得到以下錯誤:
error: unable to find numeric literal operator 'operator"" _lb'
不應該我的_lb
的定義會導致參數與long double
之間的隱式轉換(與常規函數一樣)?
@Motti [N3337](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf)也有我引用的文字。 (來自[wikipedia]的鏈接(http://en.wikipedia.org/wiki/C%2B%2B11))。 – Angew
謝謝,我現在看到它。 – Motti