Митя
27.Апрель.2023 21:42:26
1
всем снова привет.
пишу простой скетч, вроде все верно(хотя может уже я что то путаю, тк не силен в с++ да и не люблю его)
кусок кода:
String stri="FFFFFFF";
String str= stri.toLowerCase();
при компиляции лезет ошибка непонятная!
error: conversion from 'void' to non-scalar type 'String' requested
exit status 1
conversion from 'void' to non-scalar type 'String' requested
в чем причина,как исправить?
b707
27.Апрель.2023 21:54:05
2
метод toLowerCase()
не производит новой строки, он только переводит свою строку в нижний регистр.
Поэтому присваивать его новой строке нельзя.
Если ты хочешь, чтобы в строке str
была копия первой строки в нижнем регистре - надо сначала скопировать первую строку во вторую, а потом уже перевести ее в нижний регистр:
String stri="FFFFFFF";
String str= stri;
str.toLowerCase();
Митя
27.Апрель.2023 22:34:47
3
спасибо.
непонятно для чего так сделали, наверно хотели сделать проще, а получилась путаница, в нормальных (для меня) языках это бы так не работало.
Митя:
да и не люблю его
В том и беда. Это всегда эхом возвращается
1 лайк
b707
28.Апрель.2023 08:52:48
6
Откуда путаница? Бывают методы, которые возвращают какое-то значение, а есть которые нет. Просто надо читать документацию, в ней все четко описано:
The Arduino programming language Reference, organized into Functions, Variable and Constant, and Structure keywords.