Arduino's string.toCharArray.Почему я получаю предупреждение о недействительном конверсии? - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь преобразовать строку Arduino в массив uint8_t с помощью функции .toCharArray() библиотеки Arduino String.

Это функция, в которой появляется предупреждение:

void sendData(String string) {
  uint8_t buf[string.length()];
  string.toCharArray(buf, string.length());
  rf69.send(buf, sizeof(buf));
}

И это ошибка:

C:\Users\XX\Documents\Arduino\Transmitter\Transmitter.ino: In function 'int toInt(String)':
C:\Users\XX\Documents\Arduino\Transmitter\Transmitter.ino:42:40: warning: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'char*' [-fpermissive]
 string.toCharArray(buf, sizeof(buf));
                                    ^
In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:231:0,
             from sketch\Transmitter.ino.cpp:1:
 C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/WString.h:161:7: note:   initializing argument 1 of 'void String::toCharArray(char*, unsigned int, unsigned int) const'
void toCharArray(char *buf, unsigned int bufsize, unsigned int index=0) const

Странная вещь в том, что он уже работает так, без каких-либо ошибок или предупреждений.

Может кто-нибудь сказать мне, чтоЯ тут не прав?

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