为什么程序报错重定义;不同的基类型

编译时报错,“重定义;不同的基类型”要解决这个错误其实很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
mengvlog 阅读 9 次 更新于 2025-07-21 21:21:41 我来答关注问题0
  • 请写上函数的声明 放在宏定义之后 main函数之前 如:include include define STUDENT 5 define SUBJECT 3 void get_list(char*a,int*b);void print_list();等等 main(){ }

  •  haiyangfenghuo vs2013提示重定义,不同的基类型,求助大神

    你的两个结构的命名是一样的,命名应该不同才对啊,否则你LNode指的是哪个结构呢。

  •  0600710417 ..错误 4 error C2371: “mypi”: 重定义;不同的基类型 求助如何debug.

    将mypi的定义放到main的前面,或者在main前面加一行double mypi(int);

  •  倒霉熊lujin 这是什么问题?01.c(15):error C2371: “Create_List”: 重定义;不同的基类型

    struct node { int data;struct node *next;};typedef struct node Node;void *Create_List(); ///sheng ming void main(){ Create_List(); //diao yong } void *Create_List(void) ///shi xian { int i,data;Node *temp,*head,*prev;head=malloc(sizeof(Node));head->next=NU...

  •  724179176 系统库和tesseract库头文件冲突,重定义;不同的基类型

    编译错误如下:f:\duilib\duilib\Control/UIFlash.h(10): warning C4192: 导入类型库“IServiceProvider”时自动排除“..\Utils/Flash11.tlb”1> UIWebBrowser.cpp 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\dispex.h(217): error C2371: “IDispatchEx”: 重定义;不...

檬味博客在线解答立即免费咨询

报错相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部