Как преобразовать long без знака в QString - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь преобразовать unsigned long long в QString с помощью QString :: number (). Но это дает мне следующую ошибку: «вызов перегруженного 'number (long long unsigned int * &)' неоднозначен. Кто-нибудь может мне помочь?

EDIT

GetBoardSN(0, SN);
ui->tableWidget_Ethernet->setItem(0,2,new QTableWidgetItem(QString::number(SN)));

Заголовочный файл: int GetBoardSN(int instance, unsigned long long *SN);

1 Ответ

0 голосов
/ 18 июня 2020

Ваш SN кажется указателем (unsigned long long *). Иначе вы не сможете позвонить по номеру GetBoardSN таким образом. Итак, ваш код предполагает, что переменная имеет два разных типа. GetBoardSN требует, чтобы SN был указателем unsigned long long*, String::number() требует, чтобы SN было значением, например, типа unsigned long long.

Чтобы решить эту проблему, в зависимости от вашего контекста, вы можете либо объявить SN как тип без указателя и вызовите GetBoardSn со ссылкой на этот экземпляр:

GetBoardSN(0, &SN);
ui->tableWidget_Ethernet->setItem(0,2,new QTableWidgetItem(QString::number(SN)));

или сохраните тип указателя и разрешите указатель перед доступом к его значению:

GetBoardSN(0, SN);
ui->tableWidget_Ethernet->setItem(0,2,new QTableWidgetItem(QString::number(*SN)));

Какой Лучшее решение зависит от вашего общего использования SN.

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