const字符串有关问题

const字符串问题
C/C++ code
char* cp;
const char* cpp;
void main()
{
   cp = cpp ;
}

在vc6.0下编译不通过,报错“ cannot convert from 'const char *' to 'char *'”
请问为什么同样是char* ,限定符不一样为什么不能赋值?

而 cpp = cp;却是没有错误呢?


------解决方案--------------------
cp = cpp ;

报错是为了不让你有机会修改const数据(通过指针)

cpp = cp;

不报错是为了让你可以将可修改数据改为不可修改