VS2019【C++報錯】E0144"const char *" 型別的值不能用於初始化 "char *" 型別的實體
利用VS2019編寫以下C風格的程式碼時,會出現E0144報錯:
char* text = "Hello world";
//初始化字元型指標出現報錯
網上查了一下,一部分人說是vs版本相容性問題,新版本vs2017,2019都會遇到這個問題,新版本vs對此有更嚴格的要求。
目前總結到了3種解決方法,親測有效,可以根據你的使用習慣選擇一種方法。
- 方法1,不改程式碼,修改專案屬性。專案>>屬性>>C/C++>>語言>>符合模式,將符合模式由是改為否(優點是不需要修改程式碼,缺點是每寫新的專案就要修改一次設定)
- 方法2,修改程式碼,先用另外的字元陣列儲存
Hello world
,再對字元型指標進行初始化
char ch1[] = "Hello world";
char* text = ch1;
- 方法3,修改程式碼,將
char
型別強轉為char*
char* text = (char*)"Hello world";
事實上,在我看來,使用c++時可以利用STL標準庫#include<string>
來滿足你的需求,相比於傳統c風格的#include<cstring>
更靈活,不會出現莫名其妙的錯誤。強制型別轉換也可以使用static_cast<>()
,這裡就不嘗試了。
以上就是【“const char *” 型別的值不能用於初始化 “char *” 型別的實體】報錯的解決方法了,希望對大家有所幫助~
如果覺得我的文章對你起到了些許的幫助,做下手指操點選下面的大拇指?感謝~
我是專注自動駕駛、Lidar感知、三維點雲處理、鐳射SLAM領域的阿川,歡迎各位志同道合的朋友在下面積極留言。欲將心事付瑤琴,希望能在交流中收穫知識、經驗和摯友?
相關文章
- E0144 "const char *" 型別的值不能用於初始化 "char *" 型別的實體型別
- 【VS2019 C++】"const char *" 型別的值不能用於初始化 "char *" 型別的實體C++型別
- 【C++】CONST CHAR*型別的值不能用於初始化CHAR*型別的實體C++型別
- C++中出現《E0144 "const char *" 型別的值不能用於初始化 "char *" 型別的實體》的錯誤解決方法C++型別
- const char* 型別不能用於初始化char* 型別實體型別
- VS C++ 2017中const char* 型別的值不能用於初始化char*的解決C++型別
- VS2019中出現E01104“const char *”型別的值不能用於初始化“char *”型別的實體的錯誤的解決辦法型別
- 【筆記】VS2017中出現 "const char *" 型別的值不能用於初始化 "char *" 型別的實體筆記型別
- VS中”LPTSTR" 型別的值不能用於初始化 "char *" 型別的實體型別
- 關於VS2017中const char *不能用於初始化char *型別的實體的問題型別
- const char*, char const*, char*const 有何區別?
- C++中string、char *、char[]、const char*的轉換C++
- NTMySQL中varchar和char型別的區別heeMySql型別
- 當char型變數遇上char*型的指標變數指標
- Python工作筆記-往dll中傳入char*型別的引數並且如何接收char*的值Python筆記型別
- C# - char型別的一些介紹C#型別
- MySQL資料型別操作(char與varchar)MySql資料型別
- CString與LPCWSTR、LPSTR、char*、LPWSTR等型別的轉換型別
- Java char 型別究竟佔幾個位元組?Java型別
- std::cout 輸出 unsigned char型別資料型別
- const char*的全特化
- C++中string轉換為char*型別返回後亂碼問題C++型別
- @RequestBody中列舉型別值不匹配報錯型別
- varchar和char的區別
- MySQL中資料型別(char(n)、varchar(n)、nchar(n)、nvarchar(n)的區別)MySql資料型別
- CAPL指令碼中常用到的資料型別轉換——數字型別(int/double)和字串型別(char array)指令碼資料型別字串
- react 報錯 元素隱式具有 "any" 型別,因為型別為 "string" 的表示式不能用於索引型別 "{}"。 在型別 "{}" 上找不到具有型別為 "string" 的引數的索引簽名。React型別索引
- 關於Mapreduce Text型別賦值的錯誤型別賦值
- 值型別與引用型別的區別型別
- Rust中 String、str、&str、char 的區別Rust
- C++:不許使用不完整的型別報錯解決思路C++型別
- 關於mysql設定varchar 欄位的預設值''和null的區別,以及varchar和char的區別MySqlNull
- 值型別和引用型別型別
- MySQL中CHAR和VARCHAR區別MySql
- JavaScript報錯型別(報錯速查)JavaScript型別
- 軟體有兩種型別的值型別
- JavaScript值型別和引用型別JavaScript型別
- c#:值型別&引用型別C#型別