首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个简略的关于extern的程序老师报错。

2013-04-07 
一个简单的关于extern的程序老师报错。。代码如下 老是提示我“one or more multiply defined symbols found”

一个简单的关于extern的程序老师报错。。
代码如下 老是提示我“one or more multiply defined symbols found”
///extern.h
extern int a;

////extern.cpp
#include <stdio.h>
#include "extern.h"
int a;
int main()
{
printf("%d",&a);
 return;
}

////extern2.cpp
#include <stdio.h>
#include "extern.h"


int main()
{
int a;

printf("&d",&a);
return;
}
[解决办法]

引用:
引用:两个cpp文件里面同时出现main是不允许的,而且在extern.cpp中你引用了#include "extern.h",之后又定义int a,这是重复定义了,在extern2.cpp不会报重复定义,因为a的作用域不同

extern.h中的extern int a;难道不仅仅是声明吗?

是声明,我看错了,你把extern2.cpp删除就对了,这里主要报错是针对main的

热点排行