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

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

  •  空号一号 1>c:\users\b\desktop\system\system\menu.c(86): error C2371: “copy”: 重定义;不同的基类型 错哪儿

    应该是你定义了两个名字都叫copy但参数类型或返回类型不同的函数,在C中这是不允许的。检查你对copy函数的定义,和下面的实现应该参数类型相同。

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

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

  •  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 - 檬味博客
返回顶部