很明显这是因为多个文件中重复定义了同一个变量。要明确“定义”和“声明”的概念:
定义:
//(1)
int a;
//(2)
int a;
a=3;
//(3)
int a;
cin>>a;
声明:
//(1)
extern int a;
//(2)
extern int a;
a=10;
//(3)
extern int a;
cin>>a;
实现文件中:
一个项目中只有一个文件可以定义某变量(函数),其他文件需要且只能声明该变量(函数)。
头文件中有且只有:
1.所有的声明(类、函数,变量可有可无)
2.防止重复定义的语句:
#pragma once
或
#ifndef XX_H
#define XX_H
#endif