N
Novice
I'm getting an odd compiler warning that I don't really understand. I
wonder if anyone can enlighten me on the meaning of this message.
Basically, I'm not sure what the compiler's problem is with what I'm doing
or the best way to make it happy.
I've got a fairly simply method name foo() that takes two parameters, ints
called start and finish. During this method, I decrement start and finish
and then calls another method, bar(), passing the decremented versions of
start and finish. For some reason, the compiler objects to the statements
where I decrement start and finish and says "the parameter should not be
assigned". I'm running Eclipse 3.7.1 with a 1.6.18 JDK.
So here's what the code looks like:
public static int foo(int start, int finish) {
/* Other stuff */
start--;
finish--;
bar(start, finish);
}
It's the start--; and finish--; lines that are raising the warnings.
What exactly is wrong with doing that? And what is the best way to make the
compiler happy about that code?
I modified the code as follows to get rid of the warnings but is it really
necessary to create two local variables just to eliminate the warnings? Or
is there a better way?
public static int foo(int start, int finish) {
/* Other stuff */
int myStart = start;
myStart--;
int myFinish = finish;
myFinish--;
bar(myStart, myFinish);
}
wonder if anyone can enlighten me on the meaning of this message.
Basically, I'm not sure what the compiler's problem is with what I'm doing
or the best way to make it happy.
I've got a fairly simply method name foo() that takes two parameters, ints
called start and finish. During this method, I decrement start and finish
and then calls another method, bar(), passing the decremented versions of
start and finish. For some reason, the compiler objects to the statements
where I decrement start and finish and says "the parameter should not be
assigned". I'm running Eclipse 3.7.1 with a 1.6.18 JDK.
So here's what the code looks like:
public static int foo(int start, int finish) {
/* Other stuff */
start--;
finish--;
bar(start, finish);
}
It's the start--; and finish--; lines that are raising the warnings.
What exactly is wrong with doing that? And what is the best way to make the
compiler happy about that code?
I modified the code as follows to get rid of the warnings but is it really
necessary to create two local variables just to eliminate the warnings? Or
is there a better way?
public static int foo(int start, int finish) {
/* Other stuff */
int myStart = start;
myStart--;
int myFinish = finish;
myFinish--;
bar(myStart, myFinish);
}