【发布时间】:2017-10-05 18:03:30
【问题描述】:
我有一个头文件,其中有一个二维数组 extern 声明,以及一个 cpp 文件,其中有要链接到的数组的实际定义。我想用二维向量替换这个数组,但我的编译器一直告诉我:
'A': redefinition; multiple initialization
这是我的代码
header.h
#ifndef HEADERS_H_DECLARED
#define HEADERS_H_DECLARED
#include <vector>
...
extern std::vector<std::vector<int>> A(10, std::vector<int>(10));
...
#endif
A.cpp
#include "headers.h"
...
std::vector<std::vector<int>> A(10, std::vector<int>(10));
...
然后在我所有的其他 .cpp 文件中使用这个向量。当它是一个数组时一切正常,我认为它与我在多个文件中声明二维向量的语法有关,但我不知道!
【问题讨论】:
标签: c++ multidimensional-array vector header extern