首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

c语言自定义头文件有关问题

2012-02-13 
c语言自定义头文件问题在一个头文件money.h中定义了typedefdoubleMoney然后在另一个头文件bet.h中声明一

c语言自定义头文件问题
在一个头文件money.h中定义了
typedef   double   Money;
然后在另一个头文件bet.h中声明一个函数bet
Money   bet(Money   w);
用gcc编译的时候却总是报bet.h的错误,将在bet.h中将Money改成double后一切正常,感觉应该是Money的使用错误,应该怎么改才能正常?(需要使用Money而不是double)

[解决办法]
怎么可能呢?是不是在bet.h中#include "money.h " 而 bet.h又没有用Include Guards,下面的例子怎么可能会报那种错呢?即使多次#include "bet.h "也不会呀:
mymtom@fc6:src/csdn/c/money$ ls
bet.c bet.h money.h
mymtom@fc6:src/csdn/c/money$ cat bet.c
#include "bet.h "
#include "bet.h "
#include "money.h "
#include "bet.h "

Money bet(Money w)
{
return (w / 3.0 + 100);
}

mymtom@fc6:src/csdn/c/money$ cat bet.h
/*
* bet.h
*/

#ifndef BET_H
#define BET_H

#include "money.h "

Money bet(Money w);

#endif /* BET_H */

mymtom@fc6:src/csdn/c/money$ cat money.h
/*
* money.h
*/

#ifndef MONEY_H
#define MONEY_H

typedef double Money;

#endif /* MONEY_H */

mymtom@fc6:src/csdn/c/money$ make bet.o
cc -c -o bet.o bet.c
mymtom@fc6:src/csdn/c/money$ ls
bet.c bet.h bet.o money.h
mymtom@fc6:src/csdn/c/money$

热点排行