существует ли что-то вроде "void foo (int * const * p)"? - PullRequest
0 голосов
/ 06 июня 2019
#include<stdio.h>
int main() 
{ 
int i = 11; 
int *p = &i; 
foo(&p); 
printf("%d ", *p);
} 
void foo(int *const *p) 
{ int j = 10;
*p = &j;
printf("%d ", **p);
} 

// это показало ошибку времени компиляции.Может кто-нибудь, пожалуйста, объясните

Ответы [ 2 ]

5 голосов
/ 06 июня 2019
int *const *p

p - указатель на константу , указатель на int.

Вы можете изменить p сам;
Вы не можете изменить *p;
Вы можете изменить **p.

void foo(int *const *p) 
{ int j = 10;
*p = &j; // nope
printf("%d ", **p);
}
1 голос
/ 06 июня 2019

В вашем коде вы определили метод после вызова, поэтому вы должны поместить его до main()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...