天天看點

> warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

在給構造函數傳遞字元串的時候經常出現這個問題,這個問題在我接觸C++以來一直沒頭緒解決,今天剛好碰到了一篇文章的解釋之後醐醍灌頂,雖然也不是什麼大錯誤,不過還是想記錄一下以便日後朋友們和自己能夠看到解決問題

先看一下簡單的代碼吧:

圖檔

> warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

當建立A類對象時,傳遞字元串給構造函數進行初始化,由于字元串是常量,用char *name指針來接收時,編譯器會認為你想要有通過指針來修改字元串的内容,此時就會警告。

解決:

隻要在char *name前面加上const限定所傳的參數是不可以修改的内容時就不會警告,其實倒也不是特别大的問題,因為直接傳遞字元串本來就是常量了,一般我們也不會去改變内容,哈哈哈,就先到這裡吧

繼續閱讀