Указатель является переменной.Любая переменная имеет адрес, по которому она находится.Поэтому, если вы объявили переменную, например, int x;
, то &x
- это адрес, где находится эта переменная.
Указатель - это переменная, которая находится где-то, но кроме того, она имеет значение, котороебывает адрес какой-то другой переменной.Так что если вы объявили указатель int* x;
, написали что-то для него, то x
будет представлять некоторый адрес, который вы написали ему, а *x
будет значением, на которое указывает указатель.
Итак, ваша синтаксическая ошибка заключалась в использовании &
, где вы должны были просто использовать имя переменной, без &
.После того, как это станет ясно, обязательно прочитайте другие ответы, которые объясняют дальнейшие проблемы с вашим кодом.