智能车制作

标题: 咨询一下,关于全局变量在模块中的定义问题。 [打印本页]

作者: njhcjx123    时间: 2012-9-26 10:00
标题: 咨询一下,关于全局变量在模块中的定义问题。
比如:我在 mian.h
#ifndef _MAIN_H
#define _MAIN_H
extern a;
#endif


可是,我在其他模块中定义时只能定义为int;
比如 模块X.c
#include "main.h"
int a;

这样就编译正确,一旦我 定义 unsigned int a ;或者 float a ;
就会出现 一个警告 内容大概为:Incompatible typr to previous declaration (found 'unsigned int  ', expected 'int')

这是为什么?需要unsigned int(16) ,因为它比 int(15+1) 大两倍。

作者: njhcjx123    时间: 2012-9-26 10:05
忘了,是这样写:
这是main.h
#ifndef _MAIN_H
#define _MAIN_H
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
#include "X.h"
extern a;
#endif
这是X.h
#ifndef _X_H
#define _X_H
#endif
这是X.c
#include :"main.h"
int a;

希望大神们看看。
作者: njhcjx123    时间: 2012-9-26 10:07
#include :"main.h"
int a;

。。。。。。。又手误。。
没有:
作者: 等ヤ    时间: 2013-3-1 21:45
也有类似的问题 C1019
作者: 安安安然。    时间: 2014-2-11 14:07
C1019: Incompatible type to previous declaration   不解..




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2