从数组中获取值会产生奇怪的值

时间:2016-03-13 18:22:09

标签: c++ arduino

经过一个小时的尝试后,我最终得到了这个:

  ...
  for(int j = 0; j < woorden[i] -> getSize(); j++){
                int *test = woorden[i]->leds;
                lightupLed(*test);
                test++;
    }
  ...

它应该做的就是让所有的整数从“&#39; leds&#39;数组并调用lightupLed函数。但是,我得到的值例如是-21515或11518.而值应该在0到117之间。 &#39; woorden&#39;数组包含类型&#39; woord&#39;的自定义对象。 (见下文)。 如果您需要更多信息,请询问。 提前谢谢!

Woord.h

class Woord {
 public:
   int leds[13];
   int size = 0;
   String naam = "";

   Woord();
   Woord(int l[], int arraysize, String nm);
   int getSize();
   String getNaam();
};

Woord.cpp

Woord::Woord(){}
Woord::Woord(int l[], int arraysize, String nm) {
    //std::array<int,4> B
    for (int i = 0; i < arraysize; i++) {
        leds[i] = l[i];
    }
    naam = nm;
    size = arraysize;
}
int Woord::getSize(){
    return size;
}
String Woord::getNaam(){
    return naam;
}

1 个答案:

答案 0 :(得分:0)

明显的错误是你每次迭代定义test。也许,lightupLed(woorden[i]->leds[j]);就是你想要做的。