编译时报错,“重定义;不同的基类型”要解决这个错误其实很easy,关键是知道这个错误是什么意思。看那个方法,并没有在其他地方也定义啊,怎么会重定义呢,不同的基类型又是什么意思呢?其实换句话说就很明白了:此方法在还未声明的地方就去使用了。由于使用它的地方与定义他的地方都是在同一个.c文...    
为什么程序报错重定义;不同的基类型
    你的这个问题,解释如下:
TTTT t; //在函数体外定义的一个结构体变量,他是一个静态变量。静态变量的初始化必须在定义时进行。因此,采用 t.a=0;这样给成员a赋初始值就是错误的。
代码可以改为:
#include "stdio.h"
typedef struct {
 int a;
 int b;
}TTTT;
TTTT t = {0}; //在定义的同时给成员赋初始值,此时a和b成员的值都是0
//t.a=0;
int main(void){
 return 0;
}
enjoy!
【ush91优势实训】2010-10-16
首先你要告诉我你使用的编译器
因为有些编译器把struct结构中的变量当成私有变量和class类相似,
私有变量不能直接访问。
可以定义
内部函数
int seta(int temp){ this->a=temp;}
int setb(int temp1}{ this->b=temp1;}
t.seta(0);来给变量赋值2010-10-16
t.a = 0;
  不能这样写!!2010-10-16
编译时报错,“重定义;不同的基类型”要解决这个错误其实很easy,关键是知道这个错误是什么意思。看那个方法,并没有在其他地方也定义啊,怎么会重定义呢,不同的基类型又是什么意思呢?其实换句话说就很明白了:此方法在还未声明的地方就去使用了。由于使用它的地方与定义他的地方都是在同一个.c文件中,所以没有报未声明的错误。这时,只要把它的实现放到使用的前面去,或者在前面加个函数的声明语句就OK了2012-11-06