gpt4 book ai didi

c++ - 使用属性页数组 MFC C++ 创建无模式属性表

转载 作者:行者123 更新时间:2023-11-28 07:21:01 25 4
gpt4 key购买 nike

我正在创建一个从 CMFCPropertySheet 派生的属性表,它是在调用初始编辑器页面时从大型机创建的。我的问题是当调用附加页面时,我想为它创建一个新选项卡。调用的每个页面都将由同一个类派生,但最大页面数未知,因此需要将其定义为

    CEditorPage *m_editorpage[];

但是编译器提示它使用了一个零大小的数组。在析构函数中,我删除了在 for 循环中创建的页面,从 0 到工作表中的页数。在销毁后我删除了 this 指针。程序崩溃并停止在

    delete this;

如果我不使用数组,它不会崩溃。但是因为我在每个属性页中使用相同的类页而且我不知道会有多少我需要使用一个零大小的数组。无论哪种方式,我都会发生内存泄漏。

如何在属性表中创建一个基于 CMFCPropertyPage 的零大小数组,以便我可以在运行时添加其他页面并在属性表关闭时执行适当的清理。我尝试过的每种方法都会导致崩溃或内存泄漏。

最佳答案

尝试使用动态数组

CEditorPage *m_editorpage = new CEditorPage[_num_of_editorpage];
....
delete[] m_editorpage ;

关于c++ - 使用属性页数组 MFC C++ 创建无模式属性表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19474778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com