-1
我有一個項目在C.在功能adminpanel()有一些選擇,如添加,刪除,修改等每個這些選擇是一個函數。現在,例如我打電話add()函數當它結束時,我需要返回在adminpanel()函數乞討做出另一種選擇。這發生在刪除()等 是否有可能設置爲函數返回值add(),delete()等功能adminpanel()?如果沒有,我必須將其設置爲返回值?是否有可能從C中的另一個函數返回一個函數?
我有一個項目在C.在功能adminpanel()有一些選擇,如添加,刪除,修改等每個這些選擇是一個函數。現在,例如我打電話add()函數當它結束時,我需要返回在adminpanel()函數乞討做出另一種選擇。這發生在刪除()等 是否有可能設置爲函數返回值add(),delete()等功能adminpanel()?如果沒有,我必須將其設置爲返回值?是否有可能從C中的另一個函數返回一個函數?
它可以返回一個函數指針:
int inc(int x) { return x + 1; }
int dec(int x) { return x - 1; }
int(* func(int t)) (int)
{
return t ? &inc : &dec;
}
int test_C(void)
{
int(*f1)(int) = func(1); // f1 = &inc
int x1 = (*f1)(1); // x1 = 2
int(*f2)(int) = func(0); // f2 = &dec
int x2 = (*f2)(1); // x2 = 0
return 0;
}
'return inc;'會做,以及'... = f(1);'會。 – alk
號不能從一個函數返回一個函數或數組。有可能返回一個指向函數的指針。 – haccks
@ T.J.Crowder;不,不是那種感覺。 – haccks
@haccks:「這是一個愚蠢」的標準是「對另一個問題的回答是否回答這個問題。」所以是的,這是一個騙局。 (如果我制定規則,規則可能會有所不同。) –