【发布时间】:2014-09-28 23:04:48
【问题描述】:
我正在尝试根据构造函数的输入参数初始化一个大小为 n 的数组。 这有效:
//Inside Header
class runningAverage{
private:
byte n;
float array[10];
public:
runningAverage(byte);
};
//Inside .cpp
runningAverage::runningAverage(byte a){
n = a;
for (byte i = 0; i<n; i++) {
array[i] = 0;
}
}
这不起作用:
//Inside Header
class runningAverage{
private:
byte n;
float array[];
public:
runningAverage(byte);
};
//Inside .cpp
runningAverage::runningAverage(byte a){
n = a;
for (byte i = 0; i<n; i++) {
array[i] = 0;
}
}
我想将数组初始化为 n 指定的大小。这样我就不会通过任意指定 float array[256] 或类似的东西来浪费内存。任何帮助表示赞赏!
【问题讨论】:
-
另外值得注意的是,这是为 arduino 库编写的!
-
对于初始化数组,您需要传递一些值。所以当你从用户那里收到 n 的值时,你需要传递它。
-
阅读 C++ 中的指针和
new和delete,这将允许您创建所需大小的数组 -
我知道这些事情,但我不明白它们之间的关系。你能给我写个例子吗?
标签: c++ arrays class arduino initialization