为什么这个用户定义的文字不起作用?

qua*_*ant 6 c++ c++11

以下内容不适用于G ++ 4.8.1或4.9:

constexpr double operator"" _sig (double sig)                               
{                                                                           
    return sig * 2.0;                                                      
}
Run Code Online (Sandbox Code Playgroud)

prog.cpp:4:49:错误:'constexpr double operator""_ sig(double)'具有无效参数列表constexpr double operator""_sig(double sig)

奇怪的是,以下确实有效:

constexpr long double operator"" _sig (long double sig)                               
{                                                                           
    return sig * 2.0;                                                      
}   
Run Code Online (Sandbox Code Playgroud)

为什么??