C++ 用“定义整型”;如果';使用“另一个”的语句;int";作为参数
尝试使用if语句更改输入相关变量的值,使其具有int。可能是犯了一个愚蠢的错误,但到目前为止,还没有弄明白(作为旁注,也尝试了Switch语句,也无法使它工作)C++ 用“定义整型”;如果';使用“另一个”的语句;int";作为参数,c++,if-statement,return,C++,If Statement,Return,尝试使用if语句更改输入相关变量的值,使其具有int。可能是犯了一个愚蠢的错误,但到目前为止,还没有弄明白(作为旁注,也尝试了Switch语句,也无法使它工作) #包括 #包括 int main(){ int-jobID; std::cin>>jobID; int setjobSalary(int jobSalary){ if(jobID==1){ setjobSalary=600; } else if(jobID==2){ setjobSalary=1600; } 返回工作工资; } int
#包括
#包括
int main(){
int-jobID;
std::cin>>jobID;
int setjobSalary(int jobSalary){
if(jobID==1){
setjobSalary=600;
}
else if(jobID==2){
setjobSalary=1600;
}
返回工作工资;
}
int currentjobSalary=jobSalary-300;
}
提前感谢。C++不允许您在另一个函数中定义函数。对于您尝试执行的操作,您根本不需要函数,只需要变量,例如:
#包括
#包括
int main()
{
int-jobID;
std::cin>>jobID;
内部职务工资;
if(jobID==1){
工作工资=600;
}
else if(jobID==2){
工作工资=1600;
}
否则{
工作工资=0;
}
int currentjobSalary=jobSalary-300;
...
返回0;
}
如果确实要定义函数,它需要位于main()
之外,例如:
#包括
#包括
int getjobSalary(int jobID)
{
if(jobID==1){
返回600;
}
else if(jobID==2){
返回1600;
}
否则{
返回0;
}
}
int main()
{
int-jobID;
std::cin>>jobID;
int currentjobSalary=getJobSalary(jobID)-300;
...
返回0;
}
或者,您可以使用lambda(仅限C++11及更高版本),例如:
#包括
#包括
int main()
{
int-jobID;
std::cin>>jobID;
自动获取JobSalary=[=]()->int{
if(jobID==1){
返回600;
}
else if(jobID==2){
返回1600;
}
否则{
返回0;
}
};
int currentjobSalary=getJobSalary()-300;
...
返回0;
}
您看到了来自编译器的错误消息了吗main.cpp:In function'int main()':main.cpp:9:46:错误:此处不允许函数定义,因为“{”标记
函数不能在其他函数内部定义(除非它们是lambda函数)。更不用说,您从未调用setjobSalary()<代码>函数,它应该<代码>返回<代码>值。<代码> SETJOBO工资=600;< /C>是错误的。C++与BASIC不一样。不能在代码<主体> <代码>的主体内定义第二个函数<代码> SETJOBJORKONE/COD>。
#include <iostream>
#include <string>
int main(){
int jobID;
std::cin >> jobID;
int setjobSalary (int jobSalary) {
if (jobID == 1) {
setjobSalary = 600;
}
else if (jobID == 2) {
setjobSalary = 1600;
}
return jobSalary;
}
int currentjobSalary = jobSalary - 300;
}