【发布时间】:2020-04-23 04:44:59
【问题描述】:
我如何在给定代码中交换元素,因为我收到消息说表达式必须是可修改的左值? 我需要在 for 循环中交换函数值和数组元素。
int niz[2] = { 2,1 };
int temp;
for (int i = 0;i < 1;i++)
{
temp = niz[i];
niz[i] = minimum(niz, 2, i);
minimum(niz, 2, i) = temp;
}
for (int i = 0;i < 2;i++)
{
cout << niz[i] << endl;
}
【问题讨论】:
-
提示:std::swap
-
什么是
minimum? -
我调用了最小函数
-
我们看不到。做一个minimal reproducible example
-
表达式
minimum(niz, 2, i) = temp;没有意义,除非minimum()返回一个可变引用(或带有赋值运算符的某个对象)。告诉我们这个函数的定义。
标签: c++