Hallo zusammen,
ich beschäftige mich gerade mit dem ESP8266 in der Arduino Umgebung.
Als Basis schaue ich mir das Sonoff-Projekt von Arendts an:
https://github.com/arendst/Sonoff-Tasmota/blob/master/sonoff/_releasenotes.ino
Um den Quelltext besser zu verstehen, möchte ich mir zusätzliche Debug
Meldungen generieren:
Obwohl die Syntax vielfach, auch unter der Verwendung von sizeof(), in
dem Quelltext verwendet wird, meckert der Compiler bei mir und ich sehe
absolut nicht warum.
C:\Portable\arduino\arduino-1.6.13\portable\sketchbook\v3.9.11_Sonoff-Tasmota-master\Sonoff-Tasmota-master\sonoff\sonoff.ino: In function 'void setRelay(uint8_t)':
4
5
sonoff:751: error: ISO C++ forbids applying 'sizeof' to an expression of function type [-fpermissive]
6
7
snprintf_P(log, sizeof(log), PSTR("Test"));
8
9
^
10
11
sonoff:751: error: cannot convert 'double (*)(double)' to 'char*' for argument '1' to 'int snprintf_P(char*, size_t, const char*, ...)'
12
13
snprintf_P(log, sizeof(log), PSTR("Test"));
14
15
^
16
17
sonoff:752: error: cannot convert 'double (*)(double)' to 'const char*' for argument '2' to 'void addLog(byte, const char*)'
18
19
addLog(LOG_LEVEL_INFO, log);
20
21
^
22
23
sonoff:753: error: ISO C++ forbids applying 'sizeof' to an expression of function type [-fpermissive]
scheiße...log war gar nicht definiert. Ich dachte es wäre global
definiert, aber es wird tatsächlich in jeder Funktion definiert, in der
Log-Meldungen ausgegeben werden sollen: char log[LOGSZ];
Vielen Dank euch