multiple definition of 'a'

来源:互联网 发布:unity3d ubuntu 编辑:程序博客网 时间:2024/05/16 11:12

c/c+++中的全局变量都是定义在堆中,不同文件如果有定义相同的全局变量,编译会报错,如下:

a.cpp

int a = 1;

b.cpp:

int a = 2;

编译报错:

multiple definition of 'a'


【解决方式】

使用公用的.h文件,并加以def来防止重复定义:

#ifndef COMMON_INIT#define COMMON_INITextern int a;#endif 


函数:

a.cpp

 extern  char*  makeResponseData(NqRemoteControllResponse *response){      Json::FastWriter writer;      Json::Value sendData;      ........................}

b.cpp:

extern  NqRemoteControllRequest*  parseRequestData(char *data);




0 0
原创粉丝点击