私はこのエラーを受け取り続け、何かが戻ってこない理由を理解していません。私はいくつかのことを変えようとしましたが、何もしていないようです。私はプログラムにユーザーに0を返すように言ったが、何らかの理由でこれはまだ問題である。どんな助けでも大歓迎です。ありがとう!なぜ私は取得し続けるのですか?警告:制御は非void関数の終わりに達します[-Wreturn-type]
コード:
#include <iostream>
using namespace std;
char grade(int x)
{
if (x >= 90) {
return 'A';
}
if (x >= 80) {
return 'B';
}
if (x >= 70) {
return 'C';
}
if (x >= 60) {
return 'D';
}
if (x >= 0) {
return 'F';
}
}
int main(void)
{
int s_grade; // student grade
cout << "What is the score: ";
cin >> s_grade;
cout <<"A score of " << s_grade << " is equal to a grade of " <<
grade(s_grade) << endl;
return 0;
}
['using namespace std;'は悪い習慣です(https://stackoverflow.com/q/1452721/2176813)、絶対に使用しないでください。さらに、C++では、関数が引数を持たない場合(普通はより無作為と見なされない場合)、引数リストに 'void'を入れる必要はありません – tambre
' x'が0より小さい場合、 'grade'は何を返しますか? ? – 1201ProgramAlarm
'if'のどれも実行していない場合は何も返しません – user463035818