C++ C++;外部向量变量误差

C++ C++;外部向量变量误差,c++,vector,extern,C++,Vector,Extern,在“BAROOperations.h”中 在“main.cpp”中 矢量条; ... 但我收到了以下错误: 语法错误:标识符“条”前缺少“;” 我不熟悉“extern”的用法,有人能帮我解释一下吗? 我想通过在变量声明中使用“extern”来使用“BarOperations.h”中main.cpp中定义的变量“bar”。extern意味着这是一个纯声明(而不是定义),是程序中其他地方定义了外部链接的变量。如果使用了变量,那么程序中的某个地方也必须只有一个定义;这将是完全相同的,但没有exter

在“BAROOperations.h”中

在“main.cpp”中

矢量条;
...
但我收到了以下错误:

语法错误:标识符“条”前缺少“;”

我不熟悉“extern”的用法,有人能帮我解释一下吗?
我想通过在变量声明中使用“extern”来使用“BarOperations.h”中main.cpp中定义的变量“bar”。

extern
意味着这是一个纯声明(而不是定义),是程序中其他地方定义了外部链接的变量。如果使用了变量,那么程序中的某个地方也必须只有一个定义;这将是完全相同的,但没有
extern


但这与错误无关:编译器似乎无法识别
std::vector
,可能是因为您没有在变量声明中包含
extern
,这意味着这是一个纯声明(而非定义),是程序中其他地方定义了外部链接的变量。如果使用了变量,那么程序中的某个地方也必须只有一个定义;这将是完全相同的,但没有
extern


但这与错误无关:编译器似乎无法识别
std::vector
,可能是因为您没有包含

我也有同样的问题。但这是因为我忘了写

using namespace std;

#include
之后添加此项后,问题就解决了。

我也遇到了同样的问题。但这是因为我忘了写

using namespace std;

#include
之后添加此项后,问题得到解决。

是否包含
向量
?检查编译器输出;特别是你前面提到的那一行。是的,我确实包括了在这种情况下,请包括
Bar.h
Piv.h
的代码以及
Bar
上面的任何相关行。我真的看不出还有什么其他原因,但是…在到达那一行之前,编译器需要知道关于
Bar
,否则这将不起作用。基本上,如果
Bar
不在
Bar.h
Piv.h
或向量上方的行中,那么是的,您发现了问题!是否包含
向量
?检查编译器输出;特别是你前面提到的那一行。是的,我确实包括了在这种情况下,请包括
Bar.h
Piv.h
的代码以及
Bar
上面的任何相关行。我真的看不出还有什么其他原因,但是…在到达那一行之前,编译器需要知道关于
Bar
,否则这将不起作用。基本上,如果
Bar
不在
Bar.h
Piv.h
或向量上方的行中,那么是的,您发现了问题!
vector<Bar> bars;
...
using namespace std;