Error-Makro funktioniert nicht.

#3932017
Lesenswert?

Morgen,

weis Jemand wieso diese Makros nicht funktionieren?


Die Variablen Brightness und Channel stehen in einer Methode (sind die 
Parameter der Methode).

--> void Set_Channel_Brightness ( uint8_t Channel, uint16_t Brightness )

{
...
}
Angehängte Dateien:
#3932048
Lesenswert?

Christian Karle schrieb:
> Es kommt keine Fehlermeldung zurück...

Das ist kein Kriterium. Der Präprozessor ist bekannt dafür, bei 
Rechenausdrücken in #if noch im grössten Blödsinn einen Sinn zu 
erkennen. So beispielsweise wenn er Namen darin nicht kennt. Weil er, 
wie de Name schon sagt, (formell) vor dem Compiler vorneweg läuft und 
deshalb dessen Variablen nicht kennt.
Gast #3932071
Lesenswert?

..wenn Du
1
#if
durch
1
if (
und
1
#error
durch
1
)
2
{
3
    traceError(
sowie
1
#endif
durch
1
);
2
    return errorCondition;
3
}

..ersetzt dann geht das auch zur Laufzeit. traceError und errorCondition 
(sowie der zugehörige Rückgabetyp) müssen latürnich noch richtig(tm) 
hingeschreiben werden.

HTH

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren