提问人:Sameer Ahuja 提问时间:6/7/2018 最后编辑:Sameer Ahuja 更新时间:6/7/2018 访问量:254
声明一个在头文件中接受 std:array 的函数
Declare a function that accepts std:array in a header file
问:
我只是在玩 std::array。想要将整数数组传递给一个函数,这可以通过以下方式轻松完成
void arrayByValue(array<int, 5> arr);
上面可以像这样调用
array<int, 5> aInt = {100,92,-1,122,112};
arrayByValue(aInt);
只要它在同一个 .cpp 文件中,这就可以很好地工作。
我是 问题是如何将其放在 .h 文件中,在 .cpp 文件中实现该方法,然后在另一个文件中调用它 假设 main。我收到错误说
'array': undeclared identifier
type 'int' expected
请提出可能的问题。请注意,如果我在调用函数的同一文件中声明该函数,则此功能非常有效
答:
1赞
marcinj
6/7/2018
#1
您需要在 .h 文件的顶部添加:
#include <array>
也使用 - 是一个坏习惯std::array
using namespace std;
评论
0赞
Sameer Ahuja
6/7/2018
我发现了问题。只是好奇为什么使用命名空间 std;不好吗?
0赞
marcinj
6/7/2018
@SameerAhuja在这里看到 stackoverflow.com/questions/1452721/......
0赞
Sameer Ahuja
6/7/2018
明白了。谢谢。
1赞
Sameer Ahuja
6/7/2018
#2
对于给您带来的不便,我们深表歉意。我忘了使用
命名空间 std;
在 .h 文件中。使用上面的行或使用 std::array
解决了这个问题
评论