糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 关于error LNK: char * xxx (?xx@@3PADA) already defined in xxx

关于error LNK: char * xxx (?xx@@3PADA) already defined in xxx

时间:2020-01-18 20:28:29

相关推荐

关于error LNK: char * xxx (?xx@@3PADA) already defined in xxx

今天,看到群上的群友问一个关于LINK的BUG,报:已经定义过的错误

其实这个问题难倒了很大一部分程序员,这个错误的原因是他想定义一个全局变量,于是他就在.h文件中直接定义并给这个变量赋值,这个做法是错误的,当这个.h文件被其他文件调用时,会报LINK,该变量已经定义的警告,那怎么办呢?

先在A.cpp文件中定义该变量:char buf[1024] = {0};

然后在A.h文件中声明改变量为外部变量:extern char buf[1024];

要使用时,直接引用a.h就可以使用该变量了

注意:还得记得a.h中要添加

#ifndef _A_H_

#define _A_H_

extern char buf[1024];

//……

#endif

以下是LINK的一些警告和解决办法,也是转载的:

error LNK: _DllMain@12 already defined in MSVC -03-30 12:00

如果觉得《关于error LNK: char * xxx (?xx@@3PADA) already defined in xxx》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。