我的c++测试程序老是段错误 为什么 求大神解答

2025-04-06 19:05:58
推荐回答(2个)
回答1:

const_cast只能改变指针的const属性,而不能改变或者去掉本身的const属性。
你的指针指向了"fdsf",修改的还是"fdsf",根据上面的结论,"fdsf"仍然是const的没有改变,所以修改出现运行时错误,编译阶段不会报错。

回答2:

你的trip指针指向的是常量字符串,不能用trip[1]来修改内存中的值。
如果是
char* trip = new char[5]; //内存在堆区

或者
char trip[]={"fdsf"}; //内存在栈区

这样定义的trip,就可以那样修改。