Передача параметров в отношении проблемы указателя

Каждый раз, когда я пытаюсь скомпилировать свой код, я получаю ошибку:

cannot convert parameter 1 from 'int *' to 'int *&'

тестовый код похож на это:

void set (int *&val){
   *val = 10;
}

int main(){
   int myVal;
   int *pMyVal = new int;
   set(&myVal); // <- this causes trouble
   set(pMyVal); // <- however, this doesn't
}

я хотел бы вызвать ту функцию в единственном снимке, не создавая указатель где-нибудь только для передачи его. И поскольку указатели не имеют конструкторов, что-то вроде этого не может быть сделано: набор (интервал* (&myVal));

там какой-либо другой способ передать указатель ссылкой, не будучи должен создать временную переменную?

Редактирование: По тому, как я знаю, почему коду не удается скомпилировать (я просто передаю адрес, который является возможно интервалом и не фактическим указателем). Вопрос состоит в том, как еще может это быть сделанным.

5
задан squareskittles 19 September 2019 в 12:31
поделиться