我有一个程序,出现了以下错误:
因为这一行代码需要lvalue作为赋值运算符的左操作数
function_a = function
。该错误通常是因为您正在尝试将函数(或其他非变量)赋给变量。int function_a(int j){
return j+10;
}
int function_b(int j){
return j;
}
void set_a(int (*function)(int)){
function_a = function;
}
int main(){
int a = function_a(2);
printf("%d, ", a);
set_a(function_b);
int b = function_a(2);
printf("%d", b);
}
我想在函数set_a
中将function_a
设置为function_b
。因此,我期望输出结果为12, 2
。我应该如何正确地赋值?