Ви не увійшли.
Сторінки 1
Как вернуть массив из Функции как не пробовал на выходе пустота (((
....
float* ReadTemp() {
float temp1;
float temp2;
float temp3;
float tempavg;
sensors.begin();
sensors.setResolution(Thermometer1, TEMPERATURE_PRECISION);
sensors.setResolution(Thermometer2, TEMPERATURE_PRECISION);
sensors.requestTemperatures();
temp1 = sensors.getTempC(Thermometer1) + 1;
temp2 = sensors.getTempC(Thermometer2) + 1;
tempavg = (temp1 + temp2) / 2;
float tempArray[] = {(int)tempavg, temp1, temp2, temp3};
return tempArray;
}
float* temperatureArray = ReadTemp();
Serial.println((float)temperatureArray[1]);
Serial.println((float)temperatureArray[2]);
Serial.println((float)temperatureArray[3]);
Неактивний
В языке С, автоматическое копирование массивов не выполняется. Т.е. вы не можете присвоить один массив другому или вернуть его целиком из функции. Кроме того, ссылка на массив объявленный внутри функции, как автоматический, смысла не имеет, вне её контекста. Непонятно почему компилятор ничего не сказал. Включите расширенный вывод сообщений компилятора и почитайте логи. Возможно, по умолчанию, такая ситуация рассматривается как предупреждение.
Неактивний
На PHP и C# эта конструкция работает ... посему и написал по аналогии ...
Как вернуть из функции ОПРОС датчиков значение на 1 датчика а сразу нескольих (массив)
Используйте структуры. Язык С не поддерживает так-же кортежи и замыкания. Это простая стековая машина.
Неактивний
Сторінки 1