http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52521
--- Comment #7 from Marc Glisse <marc.glisse at normalesup dot org> 2012-03-16 19:39:14 UTC --- (In reply to comment #6) > constexpr long double operator"" _degrees(long double d) > { > return d * 0.0175; > } > > int main() > { > long double pi = 180_degrees; > std::cout << pi << std::endl; > } There is no dot in 180, so it is looking for an unsigned long long overload (which you could provide). 180._degrees works.