Nul*_*ptr 0 c++ memory pointers function call
我试图调用函数testaddresscall(),其定义如下:
void testaddresscall()
{
printf("success");
}
int main(void)
{
void(*testaddresscallfunc)(void);
testaddresscallfunc= &testaddresscall;
cout << *testaddresscallfunc; //it printed 0x012D2050
typedef void testfunc(void);
testfunc* callbyaddress = (testfunc*)0x012D2050;
callbyaddress();
}
Run Code Online (Sandbox Code Playgroud)
然后发生这种情况
test.exe中0x012D2050处的未处理异常:0xC0000005:访问冲突执行位置0x012D2050.
不要那样做.每次运行代码时,函数的地址都会改变.