读书人

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

发布时间: 2013-04-07 12:50:11 作者: rapoo

一个简单的关于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的

读书人网 >C语言

热点推荐