func-ptr-2.m

来自「用于进行gcc测试」· M 代码 · 共 38 行

M
38
字号
/* Check if method parameters that are functions are gracefully decayed   into pointers.  *//* Contributed by Ziemowit Laski  <zlaski@apple.com>  *//* { dg-do run } */#include <objc/Object.h>#include <stdlib.h>@interface Func: Object+ (int) processNumber:(int)a and:(int)b usingFunction:(int(int,int))func;@end@implementation Func+ (int) processNumber:(int)a and:(int)b usingFunction:(int(int,int))func {  return func (a, b);}@endstatic int my_computation(int a, int b) {  return a * 2 + b * 3;}static int processNumber(int a, int b, int func(int, int)) {  return func(a, b);}int main(void) {  int result = processNumber (6, 8, my_computation);  if (result != 36)    abort ();  result = [Func processNumber:8 and:6 usingFunction:my_computation];  if (result != 34)    abort ();  return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?