I\'m having some trouble with this warning message, it is implemented within a template container class
int k = 0, l = 0;
for ( k =(index+1), l=0; k <
The expression k < sizeC, l < (sizeC-index)
only returns the result of the right-hand test. Use &&
to combine tests:
k < sizeC && l < (sizeC-index)
Change to:
for ( k =(index+1), l=0; k < sizeC && l < (sizeC-index); k++,l++){
When you have a comma expression is evaluated the rightmost argument is returned so your:
k < sizeC, l < (sizeC-index)
expression evaluates to:
l < (sizeC-index)
and thus misses
k < sizeC
use the &&
to combine the conditions instead.
The comma expression a,b,c,d,e
is similar to
{
a;
b;
c;
d;
return e;
}
therefore, k<sizeC, l<(sizeC - index)
will only return l < (sizeC - index)
.
To combine conditionals, use &&
or ||
.
k < sizeC && l < (sizeC-index) // both must satisfy
k < sizeC || l < (sizeC-index) // either one is fine.