Вывод переменной int64_t в Serial.println
- Войдите на сайт для отправки комментариев
Ср, 13/08/2014 - 12:34
Доброго дня, возникла следующая проблема есть переменная типа int64_t. Компилятор ругается на то что я вывожу её в Serial.println. (картинка кликабельна)
int64_t r = 1; Serial.println(p);
Выдаёт ошибку: call of overloaded 'println(int64_t&)' is ambiguous
Как сделать перевод и нужно ли? Как правильно записать?
Боюсь что "в лоб" - никак.
Ошибку переводили? Вольный перевод: "не могу понять что ты хочешь, вызова с таким точно таким типом параметра - нет. похожих - несколько".
И дальше, оно вам приводит, какие варианты println - с примерно похожими параметрами.
Как видим, ни одного даже примерно похожего на int64_t - нет. Так что никакия "правильная запись" (приведени типов и т.п.) - нас не спасет. println - просто не умеет работать с таким типом (и правильно, требуется это редко, а ресурсов - мало).
Значит выводить нужно "вручную".
Либо разбивать int64_t на два int32 и выводить их - я бы выбрал этот путь, если вывод в 16-ти ричном формате устраивает. да и проще он.
Либо, если хочется все-таки десятичный вывод, разбирать число на цифры и выводить цифры по одной.