小编jar*_*eve的帖子

为什么没有方法查找的段错误

我正在寻找关于这段代码的澄清.对A :: hello()的调用有效(我期望一个segv).segfault确实通过对成员x的访问,所以看起来单独的方法解决方案实际上并没有取消引用bla?

我编译优化关闭,gcc 4.6.3.为什么不把bla->你好()爆炸?只是想知道'发生了什么事.谢谢.

class A
{

public:
    int x;

    A() { cout << "constructing a" << endl; }

    void hello()
    {
        cout << "hello a"  << endl;
    }

};

int main()
{
    A * bla;
    bla = NULL;
    bla->hello();    // prints "hello a"
    bla->x = 5;      // segfault
}
Run Code Online (Sandbox Code Playgroud)

c++ null pointers segmentation-fault

0
推荐指数
1
解决办法
99
查看次数

标签 统计

c++ ×1

null ×1

pointers ×1

segmentation-fault ×1