星域驰骋 发表于 2016-3-8 11:59:08

编译是报错 说process 不能执行怎么解决

#include <stdio.h >
void main ()
{
        int max(int ,int );
        int min (int ,int );
        int add (int ,int );
        voidprocess (int ,int ,int (*fun)());
       
        int a,b ;
        printf ("please input two numbers :\n");
        scanf ("%d%d",&a,&b);
        process (a,b,max);
        process (a,b,min);
        process (a,b,add);

}
int add(int x,int y)
{
        int z;
        z=x+y;
        printf ("%d",z);
        return z;
}
int min(int x,int y)
{
        int z;
        if (x>y)
        {
                z=y;
        }
        else
        {
                z=x;
        }
        printf ("%d",z);
        return z;
}
int max(int x,int y)
{
        int z;
        if (x>y)
        {
                z=x;
        }
        else
        {
                z=y;
        }
        printf ("%d",z);
        return z;
}

~风介~ 发表于 2016-3-8 22:08:24

--------------------配置: mingw5 - CUI Debug, 编译器类型: MinGW--------------------

检查文件依赖性...
正在编译 C:\Users\susan\Documents\C-Free\Temp\未命名1.cpp...
C:\Users\susan\Documents\C-Free\Temp\未命名1.cpp:12: error: invalid conversion from `int (*)(int, int)' to `int (*)()'
C:\Users\susan\Documents\C-Free\Temp\未命名1.cpp:12: error:   initializing argument 3 of `void process(int, int, int (*)())'
C:\Users\susan\Documents\C-Free\Temp\未命名1.cpp:13: error: invalid conversion from `int (*)(int, int)' to `int (*)()'
C:\Users\susan\Documents\C-Free\Temp\未命名1.cpp:13: error:   initializing argument 3 of `void process(int, int, int (*)())'
C:\Users\susan\Documents\C-Free\Temp\未命名1.cpp:14: error: invalid conversion from `int (*)(int, int)' to `int (*)()'
C:\Users\susan\Documents\C-Free\Temp\未命名1.cpp:14: error:   initializing argument 3 of `void process(int, int, int (*)())'
C:\Users\susan\Documents\C-Free\Temp\未命名1.cpp:53:2: warning: no newline at end of file

构建中止 未命名1: 6 个错误, 1 个警告

~风介~ 发表于 2016-3-8 22:10:33

类型转换错误?@阴影中的曙光

阴影中的曙光 发表于 2016-3-9 10:10:52

首先,推荐用int main()这种形式写主函数;
其次函数的声明推荐写在主函数外,除非你刻意让函数的作用域仅限主函数内;
再其次你声明process()后并没有为其写函数实现;

星域驰骋 发表于 2016-3-9 12:33:46

阴影中的曙光 发表于 2016-3-9 10:10
首先,推荐用int main()这种形式写主函数;
其次函数的声明推荐写在主函数外,除非你刻意让函数的作用域仅限 ...

谢谢你咯{:5_95:}
页: [1]
查看完整版本: 编译是报错 说process 不能执行怎么解决