I was wondering if anyone could give me any help. I keep coming up with an error when I try to use this function definition. I haven’t declared the function in anywhere else other then this, and it is ahead of any calls to the function so I let it be its own prototype.
int intMax(int x, int y)
{ //here is where I get the syntax error
int max = x;
if(y > max)
{
max = y;
}
return max;
}
would I have to use it as an inline function? any help would be great!
Your compiler is telling you that there’s an error on line 228 of user_routines.c. Could you post that function and boldface/highlight in some way line 228?
I don’t want to post the entire code (our homebrew mecanum drive code) but at the top of the post where I comment by the bracket is line 228. thanks for your help
Since I can’t see the whole code, and I won’t know what functions might already be predefined, have you tried renaming the function to something other than intMax? Try just qwerty or something miscellaneous for now to see if the function might already have been reserved for something.
Look closely at the lines preceding the one identified as causing the error. I’m guessing you have a missing semicolon or close brace somewhere before your intMax function definition.
Check around in your code. It is likely that the syntax error is actually entirely unrelated to that section of the code. Looks like you might have a missing brace or semicolon somewhere.
This may or may not be way off, but I remember reading somewhere that the C18 compiler has trouble with filenames longer than 64 characters. It wouldn’t compile some code that I had in the My Documents folder once, so I put all the code in a folder in the root c: directory. Worked fine after that.
Just something I remember, may or may not help you!
Hope you get it figured out.
Best of luck,
-Chris
All that would do is make it global, and the error would be different for that. I’m with Mike and the gang, I say it’s an error in a previous line, or it doesn’t like using int in the function name.
Are you just trying to build the code or is this error occurring when you download to the RC? If the former, I’d suggest heeding prior suggestions to check for a missing semicolon and/or brace. If the latter, I would check if you may be running out of program memory on the processor. This isn’t as much of a problem with 2006 and 2007 RCs as it is with 2005 and earlier RCs, since they increased the code space for 2006. I doubt this is the problem, but my team has run into memory issues in the past.
it probably isn’t prototyping since it is a syntax error. My guess is that it sometimes tells you there’s an error a line or two after the actual error. It may be a problem with the int intmax(int x, int y) line. try changing a couple things to see if that’s the problem.