声明一个在头文件

时间:2018-06-07 08:23:52

标签: c++11 pass-by-value stdarray

我正在玩std :: array。想要将一个整数数组传递给一个可以使用

轻松完成的函数
void arrayByValue(array<int, 5> arr);  

上述内容可以像

一样调用
array<int, 5> aInt = {100,92,-1,122,112};  
arrayByValue(aInt);  

只要它在同一个.cpp文件中,它就可以正常工作。 我的问题是如何把它放在一个.h文件中,在.cpp文件中实现该方法,然后在另一个假定main的文件中调用它。我收到错误说
&#39; array&#39 ;:未声明的标识符
类型&#39; int&#39;预期

请说明可能出错的地方。请注意,如果我在我调用它的同一文件中声明该函数

,这是完美的

2 个答案:

答案 0 :(得分:1)

你需要在你的顶部添加.h文件:

#include <array>

也使用std::array - using namespace std;是一个坏习惯

答案 1 :(得分:1)

对此造成的不便表示歉意。我忘了使用
    使用命名空间std;
在.h文件中。使用上面的行或使用std :: array
 解决了问题