DEVC++ multiple definition 和 first definition错误怎么解决?

前一张是.h里面的相关代码,后一张是.cpp中的代码。.h中已经使用了#ifdef了... 前一张是.h 里面的相关代码,后一张是.cpp中的代码。.h中已经使用了#ifdef了 展开
 我来答
小菜鸟2无聊写代码
2019-12-15 · TA获得超过1058个赞
知道小有建树答主
回答量:932
采纳率:87%
帮助的人:166万
展开全部
这是一个关于(scope)定义范围的问题,一山不容二虎,同样同一个scope里面容不下两个同名的变量。
主程序代码文件(也就是右图)中的struct LOOPSTACK loopstack[100]={{0,0}};包含了定义和赋值/初始化两个部分,其中定义的部分等价于
struct LOOPSTACK loopstack[100];
而这个语句已经在被包含的variables.h中出现过一次了
故在variables.h里面的

struct LOOPSTACK loopstack[100]={{0,0}};
报错first definition 首次定义
在包含指令(#include "variables.h")所在的代码文件中的
struct LOOPSTACK loopstack[100]={{0,0}};
报错multiple definition多重定义
解决办法有二
一去掉头文件里的struct LOOPSTACK loopstack[100]={{0,0}};
二把主程序代码文件中的的struct LOOPSTACK loopstack[100]={{0,0}};的定义部分去掉(变成loopstack={{0,0}};),放到main函数里面去
wusanDV
2019-12-15 · TA获得超过1644个赞
知道小有建树答主
回答量:3821
采纳率:55%
帮助的人:291万
展开全部
最近在移植代码的时候,编译出现的问题: “multiple definition of ‘g_dl_stcuct’ first defined here” 的错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shen954979
2019-12-15 · TA获得超过3429个赞
知道答主
回答量:1.4万
采纳率:7%
帮助的人:827万
展开全部
这个的话我建议你找一个专业编程的帮你重新编写一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式