C++無法從“const char[ ]”轉換為“char *”問題及解決
更新時間:2025年04月11日 09:22:02 作者:haixin-561
這篇文章主要介紹了C++無法從“const char[ ]”轉換為“char *”問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
C++無法從“const char[ ]”轉換為“char *”
高版本VS中(VS2017 ,VS2019)
解決方法
1:在項目屬性中 ,把復合模式更改為 ‘否’
2:使用強制類型轉換:
//char* p1 = "1234"; char* p1 = (char *)"1234";
3:使用數(shù)組首地址賦值指針
char str[10] = "123"; char* s1 = str;
具體原原因
個人理解 C++ 語法檢測很嚴格 ,賦值或初始化類型必須一致,看下面代碼
char ch1[] = "123"; cout << typeid(ch1).name() << endl; char* pstr = nullptr; cout << typeid(pstr).name() << endl; auto s1 = "1234"; cout << typeid(s1).name() << endl;
輸出:變量類型都不一致 ,所以要設定兼容性或者 強制轉換。
配置輸出文件目錄:
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
解析wprintf 中使用%I64d格式化輸出LONGLONG的詳細介紹
本篇文章是對wprintf 中使用%I64d格式化輸出LONGLONG進行了詳細的分析介紹,需要的朋友參考下2013-05-05vscode ssh遠程連接服務器一直卡在下載 vscode server問題解決
在使用vscode使用ssh遠程連接服務器時,一直卡在下載"vscode 服務器"階段,本文主要介紹了vscode ssh遠程連接服務器一直卡在下載 vscode server問題解決,感興趣的可以了解一下2025-01-01