这项工作会:

Class MyClass{

public:
    void Foo();

private:
    MyClass** ppMyClass;

};

MyClass* pMyClass = new MyClass;

ppMyClass = &pMyClass;

delete pMyClass;

ppMyClass-> Foo();


如果它不起作用,将指针分配给指针并使用它来访问指向它指向的类的正确方法是什么?问题是,我想知道那里的错误是否是由内存泄漏引起的:Why do I get the WSAENOTSOCK error in this code?

那么,行得通吗?

最佳答案

不,ppMyClass->Foo();无法工作,因为ppMyClassMyClass**而不是MyClass*

从理论上讲,您可以执行(*ppMyClass)->Foo(),尽管在​​您的特定代码段中,这是未定义的行为,因为您紧接着在delete d pMyClass之前。

10-02 05:38