Как вы написали, test
получает указатель на указатель на int
, но arr[0]
- это просто int
.
Однако в foo
вы запрашиваете int
, но читаете в местоположение, которое является значением неинициализированного указателя. Я бы подумал, что вы хотите, чтобы foo
прочитал и вернулся, и int
.
* 1013 Е.Г. *
int foo() {
int i;
cout << "Enter an integer:";
cin >> i;
return i;
}
В этом случае для теста будет иметь смысл взять указатель на int (т.е. void test(int* myInt)
).
Тогда вы можете передать ему указатель на один из int
, который вы динамически выделяете.
test(&arr[0]);