从数组中获取值会给出奇怪的值

Getting values out of array gives strange values

本文关键字:数组 获取      更新时间:2023-10-16

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

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

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

沃德·

class Woord {
 public:
   int leds[13];
   int size = 0;
   String naam = "";
   Woord();
   Woord(int l[], int arraysize, String nm);
   int getSize();
   String getNaam();
};

沃德.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;
}

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