Re: Förstår inte vad som är "invalid expression" i C
Postat: 10 juli 2016, 20:14:33
Varför införa ytterligare en felkälla, makron kan ge de mest konstiga felen so dessutom är synnerligen svåra att hitta.
Dessutom får man på sin höjd en varning om man skriver samma #define på ett annat ställe.
Använder man const och enum, så blir det kompileringsfel i stället, vilket är betydligt bättre än en varning som försvinner i textmängden.
Men visst i småprojekt med någon enstaka källkodsfil och några hundra rader typ, så kan det ju vara ok, möjligtvis.
Har man ett stort projekt, så skall makron och defines vara bannlysta. (stora projekt tenderar till att bli tillräckligt o-överskådliga ändå, utan att blanda in men massa makron och defines som rör om grytan ytterligare.
Vi själva undviker makron, dock har vi en del defines, men de håller vi på att jobba bort, och ersätter med enums och const.
Dock är vårt projekt lite större än de vanliga.
Dessutom får man på sin höjd en varning om man skriver samma #define på ett annat ställe.
Använder man const och enum, så blir det kompileringsfel i stället, vilket är betydligt bättre än en varning som försvinner i textmängden.
Men visst i småprojekt med någon enstaka källkodsfil och några hundra rader typ, så kan det ju vara ok, möjligtvis.
Har man ett stort projekt, så skall makron och defines vara bannlysta. (stora projekt tenderar till att bli tillräckligt o-överskådliga ändå, utan att blanda in men massa makron och defines som rör om grytan ytterligare.
Vi själva undviker makron, dock har vi en del defines, men de håller vi på att jobba bort, och ersätter med enums och const.
Dock är vårt projekt lite större än de vanliga.