鱼C论坛

 找回密码
 立即注册
查看: 4686|回复: 3

[技术交流] 函数指针通不过

[复制链接]
发表于 2013-8-15 15:56:30 | 显示全部楼层 |阅读模式
5鱼币


课件:指针函数中有个实现类多态例题,在注释中出错求解
void main()
{
        int i,j;
        int max1(int,int);
        int min1(int,int);
        int sum1(int,int);
        void process(int,int,int (*p)());

        int a,b;
        int *p;
        scanf("%d%d",&a,&b);
        p=max1;     //此处报错,如下        a value of type "int (*)(int, int)" cannot be assigned to an entity of type "int *"
        printf("Max value is:");
        process(a,b,  ?   );  //此处如何写

}

环境 win 7 64+vs 2010
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-15 15:56:31 | 显示全部楼层
  1. #include <stdio.h>
  2. void main(){
  3.         int i,j;
  4.         int max1(int,int);
  5.         int min1(int,int);
  6.         int sum1(int,int);
  7.         void process(int,int,int (*p)(int,int));
  8.        
  9.         int a,b;
  10.         int (*p)(int,int);
  11.         scanf("%d%d",&a,&b);
  12.         p=max1;     
  13.         printf("Max value is:");
  14.         process(a,b, p);       
  15. }

  16. int max1(int a,int b) {
  17.         return (a>b)?a:b;
  18. }
  19. int min1(int a,int b) {
  20.         return (a<b)?a:b;
  21. }

  22. int sum1(int a,int b) {
  23.         return a+b;
  24. }

  25. void process(int a,int b,int (*p)(int,int)) {
  26.         printf("%d\n", p(a,b) );
  27. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-15 16:08:14 | 显示全部楼层
max1不是函数???参数呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-15 18:01:59 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-21 02:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表