尝试使用const int std :: array时出错
这个问题在这里已经有了答案:
你如何将数组值赋给const int
元素? 你应该在声明期间初始化它们。
#include <array>
using namespace std;
int main() {
array<const int, 4> vals{1, 2, 3, 4};
return 0;
}
没有任何初始化,您的示例与无效的常量声明类似:
const int a;
由于std::array
本身不能更新,我想下面的代码会更清楚理解。
#include <array>
using namespace std;
int main() {
const array<int, 4> vals{1, 2, 3, 4};
return 0;
}
这是由于一个常量对象在定义时必须被初始化。 但是使用这个声明
array<const int, 4> vals;
你没有提供初始化程序。
考虑下面的程序
#include <iostream>
#include <array>
int main()
{
int x = 42;
std::array<const int, 4> vals = { { 1, 2, 3, 4 } };
for ( int x : vals ) std::cout << x << ' ';
std::cout << std::endl;
return 0;
}
它的输出是
1 2 3 4
链接地址: http://www.djcxy.com/p/66747.html
上一篇: Error while trying to use const int std::array
下一篇: Error is generated with the sort method while sorting the values inside a vector