LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 937|回复: 10

定义了个函数指针,发现这样的问题!

[复制链接]
发表于 2004-12-22 14:05:52 | 显示全部楼层 |阅读模式
#include "stdlib.h"
#include "stdio.h"
char max(char x,char y);
char min(char x,char y);
char (*ptr)(char char);
char a=2,b=3,c;
main()
{
       
ptr=max;
c=(*ptr)(a,b);
ptr=min;
c=(*ptr)(a,b);
}
char max(char x,char y)
{
  return x>=y?x:y;  
}
char min(char x,char y)
{
   return x<=y?x:y;
}
我用的编译环境是MINGW ,编译时出现这样的错误:
main.cpp:10: error: invalid conversion from `char (*)(char, char)' to `char
(*)(char)'
main.cpp:11: error: too many arguments to function
main.cpp:12: error: invalid conversion from `char (*)(char, char)' to `char
(*)(char)'
main.cpp:13: error: too many arguments to function
请教高手!
发表于 2004-12-22 14:43:14 | 显示全部楼层

  1. char (*ptr)(char[color=red],[/color] char);
复制代码
 楼主| 发表于 2004-12-22 16:08:52 | 显示全部楼层
这样有问题吗?难道定义一个函数指针不是这样吗:
数据类型标志符 (*指针变量名)(参数);注:函数括号中的参数可有可无,视情况而定。
发表于 2004-12-22 16:43:00 | 显示全部楼层
Post by sybaselu
这样有问题吗?难道定义一个函数指针不是这样吗:
数据类型标志符 (*指针变量名)(参数);注:函数括号中的参数可有可无,视情况而定。

这是从哪看到的?
发表于 2004-12-22 18:16:04 | 显示全部楼层
楼主大哥,I 服了 YOU。  kj501 版主是提醒你少写了逗号,看清楚了再说话呀。
发表于 2004-12-22 18:38:04 | 显示全部楼层
main.cpp:10: error: invalid conversion from `char (*)(char, char)' to `char
(*)(char)'
main.cpp:11: error: too many arguments to function
main.cpp:12: error: invalid conversion from `char (*)(char, char)' to `char
(*)(char)'
main.cpp:13: error: too many arguments to function

还不够清楚??
 楼主| 发表于 2004-12-23 09:12:31 | 显示全部楼层
惭愧! 无话可说!一切都是多余的!
http://www.51emb.com/
发表于 2004-12-23 09:21:32 | 显示全部楼层
楼上提供的网站不错,非常感谢!
 楼主| 发表于 2004-12-23 10:04:54 | 显示全部楼层
幼小的心灵总算得到一点安慰!我哭..............
发表于 2004-12-23 11:24:38 | 显示全部楼层
Post by sybaselu
幼小的心灵总算得到一点安慰!我哭..............

呵呵,没有这么脆弱吧。以后的大风大浪还多着呢,见多识广就好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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