我需要一个深入的技术解释,而不是解决方案。
我已经学习指针一个星期了,我对它的理解还不错。但是在编写程序时,我遇到了这个错误:
我已经学习指针一个星期了,我对它的理解还不错。但是在编写程序时,我遇到了这个错误:
cannot convert ‘const std::string’ to ‘const char*’ for argument ‘2’ to ‘char* strcpy(char*, const char*)’所以我通过
string.c_str()
很容易地解决了问题。但我非常想知道为什么会出现这种情况。我已经疯狂地搜索,为什么一个const字符串不同于const
char*。当人们解释一个字符串时,他们说它和char*没有区别,那么为什么在字符串前面添加const不能使它成为一个const char *
呢?
char *
是指向string
的指针,而不是字符串本身。因此出现了那个错误。 - Hanky Panky