【发布时间】:2015-01-18 21:19:16
【问题描述】:
为什么会在代码中出现异常?
char* first = "first";
char* second = "second";
*first = *second;
不应该只是赋值吗? 错误信息说:访问冲突
【问题讨论】:
-
first和second指向你不能写入的内存。不幸的是,在初始化时会执行到非常量指针类型的转换。请为将来提供准确的错误消息。 -
这无关,我想说@ChristianSarofeen。
-
@UlrichEckhardt 在发布的代码中没有从
const到非const的转换。"first",虽然不能写入,但其类型为char [6],并在分配时衰减为char *。 -
对任何投票结束作为 C++ 问题的副本的人感到羞耻。