c++ - 将 std::array 移动到另一个 std::array

标签 c++ arrays

我正在尝试将一个数组移动到另一个数组(用于初始化我的数据结构)。

我的代码:

void MonitorModule::setParameters(const std::array<std::string, IMonitorModule::MAX_CONTENT> &parameters) const {
    this->_parameters = parameters;
}

// Inside the structure "MonitorModule" as private
std::array<std::string, IMonitorModule::MAX_CONTENT> _parameters;

这将返回以下错误:

error: no viable overloaded '='

如何移动两个 std::array ?

谢谢。

最佳答案

setParameters() 被限定为 const,这意味着它只能在 const MonitorModule 对象上调用,因此它的 _parameters 成员无法修改。这就是为什么编译器无法找到合适的 operator= 来将另一个数组分配给 _parameters

您需要从 setParameters() 的声明中删除 const 限定符。

关于c++ - 将 std::array 移动到另一个 std::array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60015236/

相关文章:

c++ - C++ try语句不适用于 “#include”

java - ListView 到字符串数组

javascript - 如何从数组中仅获取不重复的值

php - 重新格式化字符串数组中的数字 PHP

c - 定义一个大于 unsigned int 限制的大型数组

c++ - 如何使我的类像 Visual Studio 中的 std::array 和 std::vector 一样易于调试?

C++ 将 DWORD 分解为字符

c++ - getsockopt() 在非阻塞 connect()+select() 流程中返回 EINPROGRESS

c++ - thread::detach() 在 C++11 中如何工作?

c++ - 无法构建 NetBeans C/C++ 项目