eternity86 发表于 2018-9-8 09:57:42

重复定义报错 Error - symbol 'Station' has multiple definitions.

请教如下定义结构体类型和变量,在同一个文件中定义,编译器会报错:Error - symbol 'StationConfig' has multiple definitions.
变量这样定义不是一样吗?


struct ConType
{
        unsigned char a;               
        unsigned char b;               
        unsigned char c;       
        unsigned char d;       
       
};


struct ConType Station =
{
        100,
        20,
        44,
        90
};

gpf谦默 发表于 2018-9-8 15:47:43

兄弟不是这样用的结构体不是数组 需要先定义结构体变量,通过结构体变量去给他的成员赋值.结构体也属于一种数据类型 像intchar 一样需要先定义变量

eternity86 发表于 2018-9-13 09:07:23

gpf谦默 发表于 2018-9-8 15:47
兄弟不是这样用的结构体不是数组 需要先定义结构体变量,通过结构体变量去给他的成员赋值.结构体也 ...

这个定义结构体,和定义结构体变量同时初始化,这两个分别放在h和c文件里,编译通过。
放在一个c文件中就报错。

musilintan 发表于 2018-9-13 09:10:22

StationConfig这是什么,提示有多个定义

gpf谦默 发表于 2018-9-13 10:24:05

eternity86 发表于 2018-9-13 09:07
这个定义结构体,和定义结构体变量同时初始化,这两个分别放在h和c文件里,编译通过。
放在一个c文件中 ...

我看看你的完整代码吧

gpf谦默 发表于 2018-9-13 10:26:57

eternity86 发表于 2018-9-13 09:07
这个定义结构体,和定义结构体变量同时初始化,这两个分别放在h和c文件里,编译通过。
放在一个c文件中 ...

有一点字符串在赋值的时候需要加 ‘’ 单引号

eternity86 发表于 2018-9-15 21:43:32

gpf谦默 发表于 2018-9-13 10:26
有一点字符串在赋值的时候需要加 ‘’ 单引号

字符串双引号,字符单引号{:5_107:}

eternity86 发表于 2018-9-15 21:44:21

musilintan 发表于 2018-9-13 09:10
StationConfig这是什么,提示有多个定义

StationConfig就是 ConType
被我改了

longff9009 发表于 2018-9-16 17:57:58

1、已经先声明了结构体了,定义结构体变量时不能再加struct关键字了,格式:结构体名 变量名={初始化列表};
ConType Station =
{
      100,
      20,
      44,
      90
};

longff9009 发表于 2018-9-16 20:09:06

我刚刚直接写在一个文件里没有出错呢?

wjp 发表于 2018-9-17 10:58:36

StationConfig这个是什么变量,是它提示有多个定义,跟结构体没啥关系吧....

eternity86 发表于 2018-9-17 13:16:43

longff9009 发表于 2018-9-16 17:57
1、已经先声明了结构体了,定义结构体变量时不能再加struct关键字了,格式:结构体名 变量名={初始化列表} ...

应该是这个原因
页: [1]
查看完整版本: 重复定义报错 Error - symbol 'Station' has multiple definitions.