警告:文字列定数から「char *」への非推奨の変換
Warning Deprecated Conversion From String Constant Char
周囲: Linuxでg ++を使用してコンパイルする
エラー: 警告:文字列定数から「char *」への非推奨の変換
意味 :文字列定数(char *)に変換された文字列(string)を受け入れません
エラーコード:
#include using namespace std void print(char *s) { cout< 分析:
関数printの仮パラメータは文字列のアドレスを表すchar * sであるため、つまり、print関数がmain関数で使用されている場合、文字列は文字列アドレスsによって変更できます。これはprintの実際のパラメータです。 ( 'xiaomi')は文字です。文字列定数は変更できないため、コンパイラは警告します。
解決:
方法1:関数printの仮パラメーターをprint(const char * s)に変更します。これは、文字列の値をポインターsを介して変更できないことを意味します。
方法2:printを使用する場合、使用する前に次のように文字列配列char temp [20]を定義できます。
char temp[20]='xiaomi' print(temp)
方法3:文字列を使用する
方法4:過負荷。