| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1880 人关注过本帖
标题:请教指针函数的定义方法
取消只看楼主 加入收藏
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
结帖率:79.17%
收藏
 问题点数:0 回复次数:3 
请教指针函数的定义方法
为什么 我使用
#include<stdlib.h>
#include<stdio.h>

int atexit(void (*func)())
{
 func();
return  0 ;
}

void fun()
{
 printf("fun\n");
}

int main()
{
 atexit(fun);
    printf("hello\n");
    return 0;
}
是正确的
但是使用
#include<stdlib.h>
#include<stdio.h>

void atexit(void (*func)())
{
 func();
return ;
}

void fun()
{
 printf("fun\n");
}

int main()
{
 atexit(fun);
    printf("hello\n");
    return 0;
}
则提示error C2371: 'atexit' : redefinition; different basic types 呢??
搜索更多相关主题的帖子: 指针函数 定义方法 redefinition C2371 
2008-10-07 23:54
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
回复 5# forever74 的帖子
void atexit(void (*func)())
{
func();
return ;
}
上面的定义和 stdlib.h中的声明不一致?
2008-10-08 19:12
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
回复 3# StarWing83 的帖子
#include<stdio.h>
void atexit(void (*func)())
{
    func();
    return ;
}
void fun()
{
    printf("fun\n");
}

int main()
{
    atexit(fun);
    printf("hello\n");
    return 0;
}
上面的代码在vc6下还是不行,提示:
error C2556: 'void __cdecl atexit(void (__cdecl *)(void))' : overloaded function differs only by return type from 'int __cdecl atexit(void (__cdecl *)(void))'
        C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\a01836if(71) : see declaration of 'atexit'
但是只要把  函数名 atexit替换成 atexit1 就OK 了
怎么我这里的 Interpositioning 不适用?

[[it] 本帖最后由 vfdff 于 2008-10-8 22:34 编辑 [/it]]
2008-10-08 22:32
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
回复 11# lingluoz 的帖子
LS 说的是,谢谢
2008-10-09 00:28
快速回复:请教指针函数的定义方法
数据加载中...
 
   



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

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