我有一个数组:

const int neoPixelCount = 40;
CRGB neoPixels[neoPixelCount];

我有一个Dancer,需要保留该数组的引用。它具有一个init方法,如下所示:
// .h
class Dancer {
  public:
    CRGB neoPixels[];
    void init(CRGB neoPixels[]);
}

// .cpp
void Dancer::init(CRGB _neoPixels[]) {
  neoPixels = _neoPixels;
}

但是当我调用它时,编译器不会让我将引用传递给数组。
dancer->init(neoPixels);

产生:



使这项工作正确的语法魔术是什么,为什么?

最佳答案

您只需要在类成员声明中将CRGB neoPixels[];更改为CRGB* neoPixels;,因为您想存储一个指针(指向数组)而不是零/未知长度的数组。

关于c++ - 在C++中存储对数组的引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23719522/

10-08 22:41