char **test()
{
char *a[3];
a[0] = (char *) malloc(sizeof(char) *3);
a[1] = (char *) malloc(sizeof(char) *3);
a[0] = "aa";
a[1] = "bb";
return a;
}
//main
try{
char ** a;
a = test();
cout << a[0] << " " << a[1];
}
catch(std::exception){}
在vs2008中编译,这个程序没有输出“bb”,但是我删除try catch块后,结果是“aa bb”,这是真的。原因和解决方法?