次の関数を使用して、文字列と二重の演算子 + を定義しようとしています
string operator + (const double& b,const string a){
return to_string(b)+a;
}
以下の操作をしているとうまくいきます
double c = 100.256;
string d = "if only";
cout<<c+d<<"\n";
しかし、 string の代わりに const char を渡すと、コンパイル エラーがスローされます (型 'double' および 'const char [4]' からバイナリ 'operator+' への無効なオペランド)
double c = 100.256;
string test = c+"sff";
const char[] "sff" から文字列への暗黙的な変換が行われないのはなぜですか?