'operator+' 不匹配(操作数类型为 'std::basic_string<char>' 和 'double')c++

no match for 'operator+' (operand types are 'std::basic_string<char>' and 'double') c++

double vitesse();
string description();
string toString()
{
    return nom + " : " + description() + "\nvitesse : " + vitesse() + ", poids : " + poids;
}

这段代码是 class 我正在测试的一部分,当我尝试编译它时,标题中的错误在这一行弹出 return nom + " : " + description() + "\nvitesse : " + vitesse() + ", poids : " + poids;,我不明白为什么?

因为函数 vitesse() return 是一个 double 值,不能 as-is 与字符串连接。我相信如果您将 return 值中的 vitesse() 替换为 to_string(vitesse()),它会起作用。