warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]


一、錯誤代碼展示

函數定義:

void readImage(char *inputPath);

函數使用:

 readImage("C:\\xxxx\\girl.jpg");

 

二、原因分析

  在上面的方法中,方法的參數需要我們傳遞一個指針類型的字符。而我們在使用該方法的時候傳遞的確實一個常量。會導致常量強轉為指針,因為會報這么一個警告。這個警告在有些編譯器上就直接通不過了,有些編譯器上可以通過。

三、解決辦法

  解決辦法也非常的簡單,如下所示:

  

 char *inputPath = (char*)"C:\\xxx\\girl.jpg";
    readImage(inputPath);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM