黑马程序员技术交流社区
标题:
为什么会有错误提示
[打印本页]
作者:
sen
时间:
2014-4-12 22:40
标题:
为什么会有错误提示
本帖最后由 sen 于 2014-5-20 11:59 编辑
为什么会提示在int sum(int a,int b)后面加;?
20140412_1853422.jpg
(171.16 KB, 下载次数: 11)
下载附件
2014-4-12 22:39 上传
作者:
程序猿-2014
时间:
2014-4-13 01:30
本帖最后由 程序猿-2014 于 2014-4-13 01:32 编辑
虽然我不知道你这个代码全部怎么写的 但是这个明显的是函数嵌套的问题 你把
int sun(int a,int b)
{
return a+b;
}
写到main函数外边就好了
#import <Foundation/Foundation.h>
int sum(int a, int b)
{
return a+b;
}
int main()
{
typedef (*mysum)(int, int);
mysum p = sum;
return 0;
}
作者:
董月峰
时间:
2014-4-13 13:21
本帖最后由 董月峰 于 2014-4-13 14:35 编辑
#include <stdio.h>
// 最好把typedef写在外面
typedef int (*MySum)(int, int) ;
// sum函数别写在主函数里
int sum(int a, int b)
{
return a + b;
}
int main()
{
MySum p = sum;
printf("%d\n",p(2, 5));
return 0;
}
另外,楼主可以看一下block,block才是可以在程序运行过程中随时生成一个代码块来调用
#import <Foundation/Foundation.h>
int main()
{
typedef int (^MySum)(int, int);
MySum p = ^(int a, int b) {
return a + b;
};
NSLog(@"%d", p(3, 7));
return 0;
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2