记录一个比较简单的异常以及解决办法。
这就是我遇见的一个异常。以下是源代码
#include<iostream>
using namespace std;
class A // 自定义的一个类
{
public:
A() {
s = "A类";
i = 6;
}
void show() {
cout << s<<endl;
cout << i << endl;
}
private:
string s="初始";
int i;
};
A* func() { //一个返回自定义类指针的函数
A a;
A* ptr = &a;
//a的作用域只有这个func函数,这两句句可以换为以下
// A* a = new A ; A *ptr =a;
// static A a; A* ptr = &a;
//或者将A a;上移两行定义到函数的外部成为全局变量
cout << "函数内";
ptr->show();
return ptr;
}
int main() {
A* ptr = func();
ptr->show();
}
,注意func函数中生成了一个A 类的对象。但是返回之后显示 读取异常,其实是因为string触发了这个异常。如果没有string,show()输出的 i