1. 程式人生 > >一個小錯誤: deprecated conversion from string constant to char*錯誤的修改

一個小錯誤: deprecated conversion from string constant to char*錯誤的修改

當我們將一個character pointer variable 初始化成一個string literal的時候, 就會出現此類錯誤。

在最新的C標準或者C++標準中, 使用如下語句, 無論使用gcc 或者g++命令, 都會報出上面的錯誤, 不能通過編譯:

char* x = "hello";
修改方案如下。

sol1: char* 改為const char* 修飾即可:

<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">const char* x = "hello";</span>

sol2: 方案是使用string:

string x = "hello";
sol3: 將string literal轉型為char* 的type:

char* x = (char*)"hello";