关于C语言里面一个因函数重复包含而产生的重定义问题。。请高手解决
文件A是主文件,B、C存放主程序相关功能模块,D文件存放的是一些共用的定义及延时等一类通用子函数,A同时包含了B,C和D,但是B和C都同时用到了D里面的函数,编译出现重定...
文件A是主文件,B、C存放主程序相关功能模块,D文件存放的是一些共用的定义及延时等一类通用子函数,A同时包含了B,C和D,但是B和C都同时用到了D里面的函数,编译出现重定义错误。
展开
4个回答
展开全部
函数重定义。
把D直接写进B和C里,或者直接在A中调用D
把D直接写进B和C里,或者直接在A中调用D
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用.c 和 .h一配一的方式。给外部引用的,挂至头文件 中。并
将头文件用下面宏定义括起来
#ifndef __HEADFILENAME_H__
#define __HEADFILENAME_H__
#endif
然后挂头文件 就可以了
将头文件用下面宏定义括起来
#ifndef __HEADFILENAME_H__
#define __HEADFILENAME_H__
#endif
然后挂头文件 就可以了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方法很多啊,在BCD文件的前面加个#pragma once就行,就是只编译一次。要不就像三楼说的用#ifndef和#define
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询