我有一个类之前使用它,它的目的将通过另一个类可以用作以下崩溃,施工
class A
{
public:
void F() {...}
};
class B
{
public:
void G() { m_a->F(); ...} // use A's function
private:
A* m_a;
};
因此这是错误的调用B :: G()指针M_A的分配之前。这是可接受的设计?或者有更好的方法来做到这一点。
问题来自开发一个GUI应用程序。我在主窗口下面有一个窗口,显示当前操作的一些基本信息,例如发生了什么,需要多长时间等等。我把这个窗口作为一个单独的元素,以便可以随处散布的操作轻松访问,并在关闭GUI应用程序时发现代码崩溃。崩溃是由于窗口在删除GUI应用程序(如qt中的qApp)后被删除。然后,我只是把一个窗口的引用指针放在单例中。当窗口被构建时,我设置了引用指针。窗口的删除由主窗口控制。从而解决了上述崩溃问题。但是如果其他开发人员在构建窗口之前使用单例,代码也会崩溃。有什么好办法解决它?或者我们可以接受它,因为在构建之前使用它是开发人员的错误?非常感谢!
这取决于您在文档中编写的内容! –
它怎么可能是一个可接受的设计?调用'G()'是未定义的行为。也许我没有得到它 –