首页 > 解决方案 > 我该如何解决这个问题:“无法在初始化中将 '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 ;

}

标签: pointers

解决方案


指针已经是地址,因此您无法访问“地址的地址”。

只需像这样删除&符号:

void update(int* a, int* b) {
int* pa = a; int* pb = b; *pa = *a + *b; *pb = *a - *b;

}

这可以确保您指向一个地址。


推荐阅读