我想了解下面的代码。如何在C++中不使用变量赋值的方法?
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
class A
{
public :
void Test();
};
void A::Test()
{
ShowMessage("Hello");
}
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
A *x;
x->Test();
}
我期待EAccessViolation错误,当我调用Test方法时。
如何在没有x分配的情况下工作?
这是未定义的行为,任何事情都可能发生,包括您看到的行为。 –