大家帮我看看 我觉得好奇怪50分
文件有
a.c
a.h
b.h
//
a.h 其中
#include "b.h"
extern int light();
...
char strAccount[20] = {'\0'};
char strPassword[20] = {'\0'};
...
strcpy(strAccount, "wokao");
strcpy(strPassword, "ri");
light(strAccount, strPassword);//执行不了,这里没有报错但什么都没做
......
b.h里内容
....
extern int light(char strAccount[20], char strPassword[20])
{
......
}
在a.h里执行不了那个b.h里的函数 不知道为什么
是不是字符长度?还是函数位置?
哪位给我解释解释阿
问题点数:50、回复次数:9Top
1 楼gimser(Winter)回复于 2003-11-02 23:11:53 得分 0
upupupupupupuuupupupupupupuupupupuppTop
2 楼PhoenixBit(桃之夭夭)回复于 2003-11-02 23:27:19 得分 0
"在a.h里执行不了那个b.h里的函数 不知道为什么"
为什么函数要在.h文件中执行呢,不解中.............
Top
3 楼gimser(Winter)回复于 2003-11-02 23:29:12 得分 0
这个无所谓咯Top
4 楼efanl(传说中的一凡……)回复于 2003-11-02 23:32:48 得分 25
是C语言吗?
C语言不支持重载,所以a.h里的extern int light ();和b.h里的extern int light (char strAccount [20], char strPassword [20])有冲突。
——我认为Top
5 楼gimser(Winter)回复于 2003-11-02 23:33:13 得分 0
是不是头文件中不能再调用其它头文件中的函数执行阿?Top
6 楼zhaochong12(超级大笨鸟)回复于 2003-11-02 23:34:11 得分 25
很久没有这样用过~忘了~
只是提出两个方案,楼主试试看~
1.extern int light(); 声名成
extern int light(char strAccount[20], char strPassword[20]); 试试~
2.把b.h里内容
extern int light(char strAccount[20], char strPassword[20])
改成
int light(char strAccount[20], char strPassword[20])Top
7 楼gimser(Winter)回复于 2003-11-02 23:34:45 得分 0
是C语言 那怎么办呢
只在.c里执行调用?Top
8 楼gimser(Winter)回复于 2003-11-02 23:37:40 得分 0
zhaochong12(zhaochong)
我刚刚试了 不行啊 呵呵 还有其他的办法吗Top
9 楼gimser(Winter)回复于 2003-11-02 23:54:53 得分 0
此贴暂停 呵呵
解决了 回头我结贴 现在有点忙
谢谢各位
Top




