我正在为 Arduino 写一堂课。到目前为止一切顺利,但我现在有点卡住了……
我在课堂上声明了一个 int 数组
class myClass
{
public: MyClass(int size);
private:
int _intArray[];
};
当我初始化类 MyClass myClass1(5)
我需要数组看起来像这样 {0,0,0,0,0}。
我的问题:我需要做什么才能使数组包含“大小”数量的零?
MyClass::MyClass(int size)
{
//what goes here to dynamically initialize the array
for(int i=0; i < size; i++) _intArray[i] = 0;
}
编辑:跟进下面的各种回复,Arduino 不包含标准库,所以很遗憾 std::vector
不是一个选项
原文由 JNK 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在编写此代码时的代码:
_intArray
的声明无效 C++:原始数组需要在编译时指定大小。您可以改为使用
std::vector
:注意 1 :一些编译器可能允许您的原始代码作为语言扩展,以支持“struct hack”(这是 C++ 中不需要的 C 技术)。
注2 :我已经更改了您的会员名称。通常,名称开头的下划线可能会产生问题,因为它们可能与 C++ 实现中的名称冲突。
干杯&hth.,