Hey. I have a problem with my function.
Here’s the code:
string ConvertDifficulty(int difficulty) {
string Converted;
switch (difficulty) {
case 1:
Converted = "Easy";
break;
case 2:
Converted = "Medium";
break;
case 3:
Converted = "Hard";
break;
}
return Converted;
}
And I got an error described above.
Why is it happening? Can I declare new variables inside functions? I always thought i can…
What’s wrong with this function?
Initialise the string to some value. Replace:
string Converted;
with:
string Converted = "";
Otherwise there’s a chance that your function will fall through the entire switch() statement without Converted ever being assigned a value (if difficulty is some value other than 1,2, or 3), which is what the error message is complaining about.
string ConvertDifficulty(int difficulty) {
string Converted;
switch (difficulty) {
case 1:
Converted = “Easy”;
break;
case 2:
Converted = “Medium”;
break;
case 3:
Converted = “Hard”;
break;
}
return Converted;
}
If you consider the code above not all code paths assign a value to Converted
, as an example if difficulty
is set to 4
then none of the cases in your switch will apply.
The easy solution is to initialize converted
with a value on the same line it’s declaration:
string Converted = "";
I thought so, thanks alot.