注册 登录
编程论坛 C++教室

const char * 无法赋值给 char *

bbb222 发布于 2012-11-28 00:08, 628 次点击
这是为什么呢 要怎么解决...
5 回复
#2
mfkblue2012-11-28 01:10
void main()
{
    char a[]="abcde";
    char *b;
    b=a;
    printf("%s",b);
}
#3
lz10919149992012-11-28 03:21
const char* a;
char* b = const_cast<char*>(a);
#4
rjsp2012-11-28 08:57
无法赋值才是正确的,可以赋值的话那就完蛋了,C++标准何必增加const这个关键字
#5
yuccn2012-11-28 13:14
可以的,强行转换就行了,这些都是在编译的时候检测而已,只要过了编译器就行。
比如:
char buff[128] = { "abcddddd" };
const char *p = buff;

{
    char *pStr = (char *)p; //
}
#6
zhuanjia02012-11-28 14:57
肯定不能复制,char* 是常量,没有分配内存地址。
你可以这样做:

const char *c = "a";
char *p = new char[20];
p = (char*)c;
delete [] p;


[ 本帖最后由 zhuanjia0 于 2012-11-28 15:05 编辑 ]
1