误解C ++中的循环?

时间:2015-05-21 09:26:25

标签: c++

我对C ++循环周期有一些问题,这是我的代码:

    for (int ii = 1; ii <= 4; ii++)
    {
        if (ii==1)
        {
            ro = 4;
            ratio = 0.85;
        }
        if (ii == 2)
        {
            ro = 6;
            ratio = 0.8;
        }
        if (ii == 3)
        {
            ro = 8;
            ratio = 0.9;
        }
        if (ii == 4)
        {
            ro = 10;
            ratio = 0.5;
        }

       function(ro,ratio);

       if (ii = 1)
       {
          cir4 = cir.clone();
          k4 = k3.clone();
       }
       if (ii = 2)
       {
          cir6 = cir.clone();
          k6 = k3.clone();
       }
       if (ii=3)
       {
          cir8 = cir.clone();
          k8 = k3.clone();
       }
       if (ii = 4)
       {
          cir10 = cir.clone();
          k10 = k3.clone();
       }
  }

我的function(ro,ratio)工作正常,其中每对ro比率在循环for之外,并返回每对Mat cir=function(ro , ratio)的不同结果(在这种情况下为cir4 # cir6 # cir8 # cir10 );但是当我把它放在循环中时,它总是返回相同的结果:cir4 = cir6 = cir8 = cir10 = function(ro = 4 , ratio = 0.85)

我不知道为什么。我误解了循环for在C ++中是如何工作的吗?

1 个答案:

答案 0 :(得分:12)

使用==而不是=进行比较。

你在if语句的第一个块中已经正确,但不是第二个。