warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
在给构造函数传递字符串的时候经常出现这个问题,这个问题在我接触C++以来一直没头绪解决,今天刚好碰到了一篇文章的解释之后醐醍灌顶,虽然也不是什么大错误,不过还是想记录一下以便日后朋友们和自己能够看到解决问题
先看一下简单的代码吧:
图片

当创建A类对象时,传递字符串给构造函数进行初始化,由于字符串是常量,用char *name指针来接收时,编译器会认为你想要有通过指针来修改字符串的内容,此时就会警告。
解决:
只要在char *name前面加上const限定所传的参数是不可以修改的内容时就不会警告,其实倒也不是特别大的问题,因为直接传递字符串本来就是常量了,一般我们也不会去改变内容,哈哈哈,就先到这里吧