大哈欠E 发表于 2013-5-3 10:35:45

很认真的请教大神一个菜鸟问题,关于程序的,好人好报。

我用模块化编程 写了一个标志函数,但出现重复定义,这个我只是flag-lh初始化,后面符合条件给他赋值。。怎么会有这样问题呢,望大神解答。
c函数
#include<reg52.h>
#include"flag_lh.h"
unsigned char flag_lh=0;
sbit set=P3^1;
void flag_lh()
{
if(set==0)
{
   delay(1000);
   if(set==0)
   flag_lh=1;
   }
else flag_lh=!flag_lh;
}

头文件
#ifndef _FLAG_LH_H_
#define _FLAG_LH_H_
extern void flag_lh();
extern unsigned char flag_lh;
#endif

错误
FLAG_LH.H(4): error C231: 'flag_lh': redefinition
FLAG_LH.C(3): error C231: 'flag_lh': redefinition
FLAG_LH.C(3): error C231: 'flag_lh': redefinition

qllaoda1 发表于 2013-5-3 10:39:34

函数和变量同名是不行的。

niaojingxin 发表于 2013-5-3 10:43:10

flag_lh又是变量名,又是函数名,还是头文件名,又当爹又当妈还当爷爷的能不错嘛。

大哈欠E 发表于 2013-5-3 10:43:39

qllaoda1 发表于 2013-5-3 10:39 static/image/common/back.gif
函数和变量同名是不行的。

哦 我改一下看看 谢谢。。

大哈欠E 发表于 2013-5-3 10:47:19

niaojingxin 发表于 2013-5-3 10:43 static/image/common/back.gif
flag_lh又是变量名,又是函数名,还是头文件名,又当爹又当妈还当爷爷的能不错嘛。 ...

哦 我改一下看看 谢谢。。
页: [1]
查看完整版本: 很认真的请教大神一个菜鸟问题,关于程序的,好人好报。