Добрый день форумчане.
Установил библиотеку - AsyncMQTT_ESP32
Открыл пример ESP32->FullyFeatured_ESP32
Сразу скажу, пример работает, тут вопросов нет.
Полный код приводить не буду, приведу только код, поставивший меня в тупик.
Ниже callback функция, вызывается когда приходит MQTT сообщение, переменная payload определена как char* , далее конструкция (void) payload; тут возник вопрос зачем она (конструкция эта)? В инете ответа не нашел.
Я так понимаю, что мы приводим char* к типу void, если конечно я прав, но зачем?
Такие конструкции встретил в паре мест, в примерах этой библиотеки.
void onMqttMessage(char* topic, char* payload, const AsyncMqttClientMessageProperties& properties,
const size_t& len, const size_t& index, const size_t& total)
{
(void) payload;
Serial.println("Publish received.");
Serial.print(" topic: ");
Serial.println(topic);
Serial.print(" qos: ");
Serial.println(properties.qos);
Serial.print(" dup: ");
Serial.println(properties.dup);
Serial.print(" retain: ");
Serial.println(properties.retain);
Serial.print(" len: ");
Serial.println(len);
Serial.print(" index: ");
Serial.println(index);
Serial.print(" total: ");
Serial.println(total);
}
Сделал простой пример - void - Wokwi ESP32, STM32, Arduino Simulator
Никакой разницы в изменении содержимого переменной не увидел.
Вот сижу мучаюсь, может кто расскажет для чего этот (void) payload;?