Передать значение указателя по ссылке - PullRequest
0 голосов
/ 14 октября 2010

Можно ли ссылаться на значение адреса, которое содержит переменная-указатель.

Например, моя функция - something(int &num);, и мне нужно передать на нее указатель, например int* i = new int(1); like &(*(i)); Можно ли это сделать?

Я использую qt и не знаю почему, но происходит следующее ...

  • *&ui->numberInput->text() дает QString
  • &ui->numberInput->text() дает *QString
  • *ui->numberOutput->text() дает *QLabel-text()
  • ui->numberInput->text() дает QString

Это не будет принято как &QString?

Может кто-нибудь помочь мне с этой проблемой

Ответы [ 3 ]

4 голосов
/ 14 октября 2010

вы просто передаете это так

something(*i);
0 голосов
/ 14 октября 2010

Он не будет принят как & QString ??

& служит нескольким различным целям в C ++. В объявлении типа это означает «ссылка», а при использовании с переменной это может быть «адрес». Не совсем понятно, что вы пытаетесь указать здесь. Показ нам, что вы пытаетесь передать, а затем объявление функции, которой вы пытаетесь передать это, могло бы быть более ясным.

Тем не менее, вы упоминаете QLabel::text(), который возвращает QString. Если вы хотите передать результат text() в функцию, ссылающуюся на QString, вы можете просто сделать это напрямую.

// Given a function with this declaration
void SomeFunction(const QString& parameter);
// and also this varable.
QLabel* l = new QLabel;

// Then the following call would work:
SomeFunction(l->text());

С другой стороны, если это не то, что вы имели в виду, покажите нам реальный код, с которым у вас проблемы, и сообщение об ошибке, которое вы получаете от него.

0 голосов
/ 14 октября 2010

Да.Синтаксис * & p.

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