class A
{
public:
void Test()
{
AfxMessageBox("Test Function");
}
};
A* obj= new A();
delete obj;
obj= NULL;
obj->Test();
Здесь тестовая функция вызывается без какой-либо ошибки, я использую Visual Studio компилятор. если функция-член не обращается к любому другому члену в классе, "этот" указатель не будет использовать вообще? это применимо ко всем компиляторам?
Это неопределенное поведение. Он может работать, он может не работать, это может вызвать другие странные ошибки.
CWnd::GetSafeHwnd()
) используют эту «функцию». Еще лучше не использовать его.