我有这样的代码:
#include <iostream>
using namespace std;
int main(){
int total = 95;
cout << "Grade is : " << SetGrade(total) << endl;
}
void SetGrade(int total){
char Grade;
if (total >= 90){
Grade = 'A';
}else if (total > 80 && total <= 89){
Grade = 'B';
}else if (total > 70 && total <= 79){
Grade = 'C';
}else if (total > 60 && total <= 69){
Grade = 'D';
}else{
Grade = 'E';
}
}
并且输出为:错误:无效使用void表达式。
您定义的函数将void作为返回类型。要将其传递给std :: cout,您需要传递一些东西。例如。像这样:
#include <iostream>
#include <string>
int main(){
int total = 95;
std::cout << "Grade is : " << total2Grade(total) << std::endl;
}
std::string total2Grade(int total){
std::string Grade;
if (total >= 90){
Grade = 'A';
}else if (total > 80 && total <= 89){
Grade = 'B';
}else if (total > 70 && total <= 79){
Grade = 'C';
}else if (total > 60 && total <= 69){
Grade = 'D';
}else{
Grade = 'E';
}
return Grade;
}
Bro,这是用:]解决的>
#include <iostream> using namespace std; int main(){ int total = 95; cout << "Grade is : "; SetGrade(total); return 0; } void SetGrade(int total){ char Grade; if (total >= 90){ Grade = 'A'; }else if (total > 80 && total <= 89){ Grade = 'B'; }else if (total > 70 && total <= 79){ Grade = 'C'; }else if (total > 60 && total <= 69){ Grade = 'D'; }else{ Grade = 'E'; } cout << Grade; }
感谢您对堆栈溢出做出贡献!