Hi Felix
IMHO the compiler is right. The #define statement just defines the parameter as whatever you put after it - it could be a value, or a calculation or a function call or piece of text - and that is just substituted into the code when you use that parameter.
In this case you told it that MAX_BUFFER_LENGTH was "10;"
So the line became:
if (x + MAX_BUFFER_LENGTH
i.e. semi colon in the wrong place = missing closing bracket ")"
You could have put:
#define MAX_BUFFER_LENGTH (5 * 2)
this would have worked, the compiler would have done the maths and put the answer (10) into the if statement.
Hope that all makes sense. You can do some really complicated things with #defines - but my personal experience is that it's best to keep it simple. :smileyhappy:
Good luck with your programming
Steve