Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 用“定义整型”;如果';使用“另一个”的语句;int";作为参数_C++_If Statement_Return - Fatal编程技术网

C++ 用“定义整型”;如果';使用“另一个”的语句;int";作为参数

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

尝试使用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 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;
            }