gpt4 book ai didi

C++ 指针数组不可赋值

转载 作者:太空宇宙 更新时间:2023-11-04 13:07:03 25 4
gpt4 key购买 nike

我需要创建 2 个数组,每个数组包含 4 个元素。一个数组包含从用户获取的四个 int 值,另一个数组包含指向第一个数组元素的指针。我不断收到以下错误:

array type 'int *[4]' is not assignable

在这一行:

my_ptrs = &my_ints;

这是我的代码:

#include <iostream>
#include <algorithm>

using namespace std;

int main() {

int my_ints[4];
int *my_ptrs[4];
float temp;
int num;

for (int x=0; x< 4; x++)
{
cout << "Enter Integer:" << endl;
cin >> num;
my_ints[x] = num;
}

my_ptrs = &my_ints;

for(int k=0; k<=3; k++)
{
for(int j=k+1; j<=3; j++)
{
if(my_ptrs[k]>my_ptrs[j])
{
temp=*my_ptrs[k];
my_ptrs[k]=my_ptrs[j];
*my_ptrs[j]=temp;
}
}
cout << my_ptrs[k] << " ";
}
return 0;
}

最佳答案

您的明显意图是让 my_ptrs 中的每个指针指向 my_ints 中的相应值。

恐怕这里没有捷径可走,只用一次赋值。你必须以艰难的方式做到这一点:

for (int i=0; i<4; ++i)
my_ptrs[i]=&my_ints[i];

关于C++ 指针数组不可赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41732569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com