Rückkehr habe ich diesen Code:Wie `machen return` einen var und Text
#include <iostream>
#include <string>
using namespace std;
class Event{
public:
Event(int x, int y, string z){
setEvent(x, y, z);
}//Constructor
void setEvent(int a, int b, string c){
if(a >= 0){
if(a < b){
if(b <= 24){
start_time = a;
end_time = b;
event_name = c;
}
else cout <<"The end time for the event needs to be <=24 hours";
}
else cout <<"The start time for the event needs to be smaller than the end time";
}
else cout <<"The start time for the event needs to be >=0 hours";
}//Code to set an event and check if the event is valid within the precondition
void rename(string r){//Code to rename event
event_name = r;
}
string duration(){
int time_length = end_time - start_time;
if(time_length == 1) return "1 hour";//I am stuck over here!!!
else return time_length "hour";
}
private:
int start_time;
int end_time;
string event_name;
};
Wenn Sie void duration()
in der öffentlichen Klasse aussehen, versuche ich return
Rückkehr Text in einem Teil und eine var zu machen und Text in einem anderen Teil. Aber ich kann es nicht funktionieren lassen.
main.cpp:30:16: error: could not convert 'time_length' from 'int' to 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}'
else return time_length "hour";
^~~~~~~~~~~
main.cpp: 30: 28: Fehler: erwartet ';' vor String-Konstante sonst Rückgabe time_length "hour"; ^ ~~~~~
Gibt es eine Möglichkeit, return
arbeiten oder eine Alternative zu diesem Problem/Code zu beheben.
1. alle Rückkehr kann man nicht von einem ** 'void' ** Funktion etwas zu schreiben. 2. gebe zum Beispiel etwas wie ein 'std :: pair' zurück. –
user0042
Anstatt es zu einem Downvote geben, geben Sie bitte auch Feedback –
@ user0042 können Sie erklären, die 2. Sie gemeint haben, ist es unklar, was Sie meinen. –