C++ erreur d'expression doit avoir intégré ou d'un type enum — obtenir ce à partir d'une chaîne avec concaténation?

C++ erreur expression doit avoir intégré ou d'un type enum obtenir ce à partir d'une chaîne avec concaténation?

Donc dans le toString() d'une classe en C++ j'ai le code:

string bags = "Check in " + getBags() + " bags";

Je pensais que je pouvais déclarer une chaîne comme celle-ci? (Je suis issu d'une Java de fond et essayer d'apprendre le C++). Le bags est souligné dans Visual Studio et le problème est:

expression doit avoir intégré ou d'un type enum.

getBags() retourne juste un int.

Un autre exemple où cela se produit est:

string totalPrice = "Grand Total: " + getTotalPrice();

getTotalPrice() renvoie une float et c'est ce qui est souligné avec l'erreur.

Mais alors, si je l'ai mis dans une ligne comme:

string blah = getBags() + "blah";

Pas d'erreurs.

Ce que je ne suis pas à comprendre ici?

OriginalL'auteur SuperCow | 2014-03-31