线程 1:EXC_BAD_ACCESS(代码=1,地址=0x0)错误

Posted

技术标签:

【中文标题】线程 1:EXC_BAD_ACCESS(代码=1,地址=0x0)错误【英文标题】:Thread 1: EXC_BAD_ACCESS (code=1, address=0x0) error 【发布时间】: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 );

【问题讨论】:

【参考方案1】:

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

你可能想要:

int main()

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

【讨论】:

p 不保证为空。 它不保证为空,因为它未初始化,但在这种情况下,它是空的,正如它在错误消息中所说的那样。

以上是关于线程 1:EXC_BAD_ACCESS(代码=1,地址=0x0)错误的主要内容,如果未能解决你的问题,请参考以下文章

崩溃:“线程 1:EXC_BAD_ACCESS”?

线程1:EXC_BAD_ACCESS(代码=1,地址=0x48)avaudiofoundation

线程 1:EXC_BAD_ACCESS(代码=1,地址=0x200)

线程 1:EXC_BAD_ACCESS(代码 = 1,地址 = 0x30000008)

线程 1:EXC_BAD_ACCESS(代码=1,地址=0x48)

迷宫构造器问题 [线程 1:EXC_BAD_ACCESS(代码=1,地址=0x8)]