關於VS2017中const char *不能用於初始化char *型別的實體的問題
在C語言中並沒有字串型別,如果想要給定字串,有兩種初始化方法:
1.使用字元陣列
例如:
char name1[] = "小明";
2.使用字元指標
例如:
char *name2 = "小明";
在VS2017中使用第一種方法初始化字串,當然是可以的。但是使用第二種方法,會提示錯誤。如何解決呢?
方法1:在char *前增加const
const char *name3 = "小明";
該方法將字串儲存在靜態資料區,資料不能修改,可以正常輸出,但是進行函式傳參會出錯。
想要使用指標,可以先用字元陣列初始化,然後用指標指向字元陣列。
char name1[] = "小明";
char *p = name1;
方法2:更改解決方案的屬性
在解決方案的屬性中找到C/C++的語言一項,將符合模式更改為否(專案預設為是)。
這是我們就會發現原來提示的錯誤消失了,而且這時可以進行函式傳參。
相關文章
- const char* 型別不能用於初始化char* 型別實體型別
- 【筆記】VS2017中出現 "const char *" 型別的值不能用於初始化 "char *" 型別的實體筆記型別
- 【C++】CONST CHAR*型別的值不能用於初始化CHAR*型別的實體C++型別
- E0144 "const char *" 型別的值不能用於初始化 "char *" 型別的實體型別
- 【VS2019 C++】"const char *" 型別的值不能用於初始化 "char *" 型別的實體C++型別
- VS C++ 2017中const char* 型別的值不能用於初始化char*的解決C++型別
- VS2019【C++報錯】E0144"const char *" 型別的值不能用於初始化 "char *" 型別的實體C++型別
- VS中”LPTSTR" 型別的值不能用於初始化 "char *" 型別的實體型別
- C++中出現《E0144 "const char *" 型別的值不能用於初始化 "char *" 型別的實體》的錯誤解決方法C++型別
- VS2019中出現E01104“const char *”型別的值不能用於初始化“char *”型別的實體的錯誤的解決辦法型別
- const char*, char const*, char*const 有何區別?
- C++中string、char *、char[]、const char*的轉換C++
- const char*的全特化
- NTMySQL中varchar和char型別的區別heeMySql型別
- 當char型變數遇上char*型的指標變數指標
- C++中string轉換為char*型別返回後亂碼問題C++型別
- Python工作筆記-往dll中傳入char*型別的引數並且如何接收char*的值Python筆記型別
- varchar和char的區別
- Rust中 String、str、&str、char 的區別Rust
- C# - char型別的一些介紹C#型別
- MySQL中CHAR和VARCHAR區別MySql
- MySQL資料型別操作(char與varchar)MySql資料型別
- CString與LPCWSTR、LPSTR、char*、LPWSTR等型別的轉換型別
- char *的使用
- 關於int型別數值的運算問題型別
- MySQL中資料型別(char(n)、varchar(n)、nchar(n)、nvarchar(n)的區別)MySql資料型別
- number----char(to_char)
- 關於mysql設定varchar 欄位的預設值''和null的區別,以及varchar和char的區別MySqlNull
- Java char 型別究竟佔幾個位元組?Java型別
- std::cout 輸出 unsigned char型別資料型別
- 關於影像識別的問題
- 【char* 字元指標的用法】及【輸出NULL的問題】字元指標Null
- char[] 轉換string時的自動截斷問題
- char
- 關於結構體型別的學習結構體型別
- [BUG反饋]關於ot模型中的時間型別欄位bug問題模型型別
- MySQL 中 VARCHAR 最大長度及 CHAR 和 VARCHAR 的區別MySql
- 關於 Go 中 Map 型別和 Slice 型別的傳遞Go型別