pointers - 我该如何解决这个问题:“无法在初始化中将 'int**' 转换为 'int*'”
问题描述
using namespace std ;
void update(int *a,int *b) {
int *pa = &a ; int *pb = &b ; *pa = *a + *b ; *pb = *a - *b;
}
int main() {
int a, b; int *pa = &a, *pb = &b;
cin >> a >> b;
update(pa,pb) ;
cout << a << endl;
cout << b << endl ;
}
解决方案
指针已经是地址,因此您无法访问“地址的地址”。
只需像这样删除&符号:
void update(int* a, int* b) {
int* pa = a; int* pb = b; *pa = *a + *b; *pb = *a - *b;
}
这可以确保您指向一个地址。
推荐阅读
- python - 使用 ECB 模式加密解密字节时遇到问题
- .htaccess - 如何将 https://www.hhl.com/articlename.html?a=b 重定向到 https://www.hhl.com/articlename/?a=b
- iis - 存在 ADFS 401 问题的 SSO
- python - 列表和数组的形状以及如何在输入和输出中使用它们
- python - 如何找到 n 维 numpy 数组的第 i 个最大元素的索引?
- r - 从期权链中找到最接近当前股票价格的行使价。
- java - 减去圆弧的内半径/部分以实现环形进度条
- ruby - 将数组的元素添加到数组数组中每个数组的特定索引
- apache-kafka - Kafka - 保留期参数
- swift - 如何在 iOS 应用中存储和更新 .p12 证书?