不知道为什么我不能使用CDialog并在cpp文件中设置内存空间。它仅在头文件中起作用。这不是一回事吗???谢谢
头文件:
public:
CDialog *m_pages[6]; // this works
头文件:
CDialog *m_pages;
cpp文件
m_pages = new CDialog[6]; //this fails
在看到我做错了之后(第一个海报:“创建六个指向CDialog的指针的数组”)。
这就是我想念的:(现在可以使用!)
CDialog **m_pages = new CDialog*[6]; //double pointer
最佳答案
检查documentation。 CDialogs在其构造函数中至少需要一个参数,这就是为什么您不能在第二个示例中分配它们的原因,因为它们没有默认的构造函数。
在第一个示例中,您将创建一个包含六个指向CDialog
的指针的数组。这与六个CDialog
的数组完全不同,这是您要在第二个数组中分配的。