2017-11-17 3 views
-2

Ich versuche, eine Zeichenfolge in einer Klasse Candidat zurückzugeben. Unten ist die .h-Datei.Wie gebe ich eine Zeichenfolge aus Enum in C++ zurück?

enum PartisPolitiques { 
    BLOC_QUEBECOIS, 
    CONSERVATEUR, 
    INDEPENDANT, 
    LIBERAL, 
    NOUVEAU_PARTI_DEMOCRATIQUE 
}; 

std::string reqPartiPolitiqueString() const; 


private: 
    int m_partiPolitique; 

Dann hier ist das, was ich in der CPP-Datei zu tun versucht:

std::string Candidat::reqPartiPolitiqueString() const { 

if (m_partiPolitique == bloc){ 
    return "Bloc quebecois";}} 

Aber dann bekomme ich eine Warnung/Fehler, der besagt, dass meine Funktion keine Rückkehr hat, die „Nein Rückkehr, in der Funktion, die nicht void zurückgibt. " Was soll ich in diesem Fall zurückgeben?

Danke

+0

Überlegen Sie, was passiert, wenn die Bedingung falsch ist. Was wird zurückgegeben? –

+0

Bitte fügen Sie die vollständige Fehlermeldung hinzu. Neben der möglichen Rückgabe eines Wertes, wie @BoPersson es vorgeschlagen hat, sieht "Block" undefiniert aus. – anthonyserious

Antwort

1

Wenn alle bedingten Anweisungen falsch sind, was ist die Rückkehr-Funktion?

std::string Candidat::reqPartiPolitiqueString() const { 

    if (m_partiPolitique == BLOC_QUEBECOIS){return "Bloc quebecois";} 
    if (m_partiPolitique == CONSERVATEUR){return "CONSERVATEUR";} 

    return "UNDEF";// When all conditional statements are false 
} 
Verwandte Themen