【问题标题】:Thread 1: EXC_BAD_ACCESS (code=1, address=0x0) error线程 1:EXC_BAD_ACCESS(代码=1,地址=0x0)错误
【发布时间】:2018-03-07 21:36:37
【问题描述】:

有人可以帮助解释为什么代码会构建但会中断并发出错误 Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)?

void biggest(int value1, int value2, int * resultPtr)
{
    if( value1 > value2 )
    {
        *resultPtr = value1;
    }
    else
    {
        *resultPtr = value2;     //the code breaks on this line
    }
}

int main()
{
    int* p;
    biggest(15, 20, p);
    cout << "The biggest value is " << *p << endl;
    return( 0 );
}

【问题讨论】:

    标签: c++ xcode pointers


    【解决方案1】:

    p 为 null,您尝试在最大的内部写入它。

    你可能想要:

    int main()
    {
        int p;
        biggest(15, 20, &p);
        cout << "The biggest value is " << p << endl;
        return( 0 );
    }
    

    【讨论】:

    • p 不保证为空。
    • 它不保证为空,因为它未初始化,但在这种情况下,它是空的,正如它在错误消息中所说的那样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 2016-09-21
    相关资源
    最近更新 更多