我不知道这个片段有什么问题。我收到此错误:
错误:成员函数“swap”不可行:“this”参数的类型为“const array”,但函数未标记为 const
#include <algorithm>
#include <memory>
#include <iostream>
#include <array>
struct MyClass {
std::array<float, 4> arr;
float carr[4];
std::array<float, 4> getArrElement() {
std::array<float, sizeof(carr) / sizeof(float)> out;
return out;
}
void fun() {
auto vec = { getArrElement(), getArrElement(), getArrElement() };
std::reverse(vec.begin(), vec.end()); // <-- error line here
}
};
int main()
{
MyClass obj;
obj.fun();
}
getArrElement
没有返回const
数组。auto
应该推导出来,std::initializer_list
但我也认为这没有什么害处。
怎么了?