与ars发布的链接略有不同的方法:您可以将switch语句中的值用作函数指针数组中的数组索引.所以不要写作
switch (i) {
case 0: foo(); break;
case 1: bar(); break;
case 2: baz(); break;
}
Run Code Online (Sandbox Code Playgroud)
你可以这样做
typedef void (*func)();
func fpointers[] = {foo, bar, baz};
fpointers[i]();
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用函数指针而不是数字,如ars的答案中所述.
| 归档时间: |
|
| 查看次数: |
5086 次 |
| 最近记录: |