| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 408 人关注过本帖
标题:请各位帮我看一下在VC6.0下编译不过的问题
只看楼主 加入收藏
skyangel999
Rank: 1
等 级:新手上路
帖 子:3
专家分:3
注 册:2010-4-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
请各位帮我看一下在VC6.0下编译不过的问题
正在学习指针,下面是一段关于指向函数的指针变量的小程序,如下:

#include<stdio.h>
void main()
{
  int max(int,int);
  int a,b,c;
  int (*p)();
  p=max;
  scanf("%d%d",&a,&b);
  c=(*p)(a,b);
  printf("MAX=%d",c);
}

int max(int x,int y)
{
 return((x>y)?x:y);
}
  
其在TC2.0下能运行,结果也正常,在VC6.0上编译都不能过,请各位高手帮忙检查下那里出错
搜索更多相关主题的帖子: 编译 
2010-05-05 23:24
jcslt
Rank: 8Rank: 8
来 自:90-xx.com
等 级:蝙蝠侠
帖 子:251
专家分:975
注 册:2009-10-10
收藏
得分:0 
程序代码:
#include<stdio.h>
void main()
{
  int max(int,int);
  int a,b,c;

 // int (*p)();
  int (*p)(int,int);
  p=max;
  scanf("%d%d",&a,&b);
  c=(*p)(a,b);
  printf("MAX=%d",c);
}

int max(int x,int y)
{
return((x>y)?x:y);
}

www.
2010-05-05 23:49
jcslt
Rank: 8Rank: 8
来 自:90-xx.com
等 级:蝙蝠侠
帖 子:251
专家分:975
注 册:2009-10-10
收藏
得分:20 
int   (*p)();只能指向  int返回,无参数的函数,比如   int   function(){...}
可以用函数重载的知识来说明的!
void   fun(int   );//1
void   fun();//2
void   (*p)()   =   fun;//会匹配2,只有2的原型符合
void   (*p)(int   )=   fun;//会匹配1
void   (*p)(int   ,int   )   =   fun;//会出错因为没有可以匹配的原型
至于TC能通过,只能说那编译器不严格把。。。

www.
2010-05-06 00:11
skyangel999
Rank: 1
等 级:新手上路
帖 子:3
专家分:3
注 册:2010-4-22
收藏
得分:0 
谢谢jcslt的帮忙指正,问题得以解决。
2010-05-06 21:03
快速回复:请各位帮我看一下在VC6.0下编译不过的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017258 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved