left-hand operand of comma has no effect?

后端 未结 3 967
北恋
北恋 2021-01-05 08:26

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 <         


        
3条回答
  •  醉酒成梦
    2021-01-05 09:24

    The comma expression a,b,c,d,e is similar to

    {
      a;
      b;
      c;
      d;
      return e;
    }
    

    therefore, k 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.
    

提交回复
热议问题