问题:
在linux下运行编译好的C++程序时,发现必然崩溃在一个成员函数的入口处,且此成员函数所属的对象指针打印出来后地址异常,类似于0X00008之类的。
原因:
在某个成员函数声明有返回值,实际实现时,函数体内部没有return,导致函数无法跳出,或直接跳到了一个未知的地方,出现调用堆栈错误。
解决方式:
对有返回值得函数,一定要有return,如果编译未报错,或忽视了编译警告,将存在隐患。
问题:
在linux下运行编译好的C++程序时,发现必然崩溃在一个成员函数的入口处,且此成员函数所属的对象指针打印出来后地址异常,类似于0X00008之类的。
原因:
在某个成员函数声明有返回值,实际实现时,函数体内部没有return,导致函数无法跳出,或直接跳到了一个未知的地方,出现调用堆栈错误。
解决方式:
对有返回值得函数,一定要有return,如果编译未报错,或忽视了编译警告,将存在隐患。