将指针添加到成员对象中的指针动态阵列
Add pointer to member object to dynamic array of pointers
我有一个私人成员包含对象的私人成员和一个动态的指针,我想用指针填充某些成员对象。
class NextionTest : public NextionDisplay {
private:
NexText lblText = NexText(0, 1, "t0");
NexButton btnPage1 = NexButton( 0, 2, "b0");
NexButton btnPage0 = NexButton( 1, 1, "b0");
NexTouch *nex_listen_list[] = {
&lblText,
&btnPage0,
&btnPage1,
nullptr
};
/* rest of class not shown */
};
上述代码导致此错误:
'Nextouch* [0]'
的初始化太多
如何解决此问题?
您可以以这种方式初始化数组:
NexTouch* nex_listen_list[4] = {
&lblText,
&btnPage0,
&btnPage1,
nullptr
};
但是,这定义了固定尺寸的C风格数组,在我看来(从看到"无效终止")看来,您的意图是具有一个动态数组,该数组会成长/收缩,并始终由nullptr
与字符串类似。在这种情况下,最好使用std::vector
:
std::vector<NexTouch*> nex_listen_list = {
&lblText,
&btnPage0,
&btnPage1,
nullptr
};
很可能不需要nullptr终止,但这取决于您要使用该数组的方法。也许您会将其发送到一些使用旧式数组的API?在这种情况下,您可以使用nex_listen_list.data()
检索嵌入式C风格数组。
相关文章:
- 如果非动态变量被指针引用,何时超出范围?
- 在对象指针上调用 Delete 是否会递归删除其动态分配的成员
- 指针的 C++ 动态数组 - 何时需要使用它?
- 使用指针在存在特征库的情况下动态分配 c++ 中的矩阵
- 指针类型类成员的动态强制转换的恒定性是什么?
- 删除包含包含动态对象的 STL 容器的智能指针
- 带有模板问题的指针的动态数组
- 存储指向动态数组元素的指针
- 动态维度数组的 C++ 别名指针
- 尝试创建指向动态分配的字符数组的指针
- 我如何用智能指针动态升起和降低
- 将指针添加到成员对象中的指针动态阵列
- 指针动态分配(核心倾倒)
- 如何在C++中增大和缩小双指针动态数组
- 指向指针数组的指针(动态分配)
- 使用指针动态数组同时输出整数值列表
- 从方法指针动态创建泛型函数指针,推导返回值和参数
- 使用指针动态分配数组
- 双指针动态分配
- 如何使用指针动态分配内存