E0144 "const char *" 型別的值不能用於初始化 "char *" 型別的實體
程式碼來自c++primer plus 6 第14章c++中的程式碼重用 ,第552、553頁。
按照書中的原始碼,在visual studio 2017 中編譯出現如下錯誤;
E0144
嚴重性 程式碼 說明 檔案 行 禁止顯示狀態
錯誤(活動) E0144 "const char *" 型別的值不能用於初始化 "char *" 型別的實體 c:\Users\dell\source\repos\worker0\worker0\worker0.cpp 47
出現錯誤的位置:
char * Singer::pv[] = {"other", "alto", "contralto",
"soprano", "bass", "baritone", "tenor"};
Singer::pv 出現的地方:
class Singer : public Worker
{
protected:
enum {other, alto, contralto, soprano,
bass, baritone, tenor};
enum {Vtypes = 7};
private:
static char *pv[Vtypes]; // string equivs of voice types
int voice;
......
我的解決辦法是:強制型別轉換。
char * Singer::pv[] = {(char*)"other", (char*)"alto", (char*)"contralto",
(char*)"soprano", (char*)"bass", (char*)"baritone", (char*)"tenor"};
相關文章
- const char* 型別不能用於初始化char* 型別實體型別
- 【C++】CONST CHAR*型別的值不能用於初始化CHAR*型別的實體C++型別
- "LPWSTR" 型別的值不能用於初始化 "char *" 型別的實體型別
- C++中出現《E0144 "const char *" 型別的值不能用於初始化 "char *" 型別的實體》的錯誤解決方法C++型別
- VS2019【C++報錯】E0144"const char *" 型別的值不能用於初始化 "char *" 型別的實體C++型別
- 【VS2019 C++】"const char *" 型別的值不能用於初始化 "char *" 型別的實體C++型別
- 【筆記】VS2017中出現 "const char *" 型別的值不能用於初始化 "char *" 型別的實體筆記型別
- VS中”LPTSTR" 型別的值不能用於初始化 "char *" 型別的實體型別
- VS C++ 2017中const char* 型別的值不能用於初始化char*的解決C++型別
- 關於VS2017中const char *不能用於初始化char *型別的實體的問題型別
- VS2019中出現E01104“const char *”型別的值不能用於初始化“char *”型別的實體的錯誤的解決辦法型別
- const char*, char const*, char*const的區別
- char型別的數值轉換型別
- const char*, char const*, char*const 有何區別?
- 避免使用Oracle的char型別Oracle型別
- NTMySQL中varchar和char型別的區別heeMySql型別
- PL/SQL中char型別的暗門SQL型別
- MySQL字元資料型別char與varchar的區別MySql字元資料型別
- Oracle的資料型別:char/varchar2Oracle資料型別
- ABAP中Char型別資料轉換成Decimal型別型別Decimal
- Python工作筆記-往dll中傳入char*型別的引數並且如何接收char*的值Python筆記型別
- C# - char型別的一些介紹C#型別
- 聊聊Oracle 11g中的char型別使用Oracle型別
- MySQL資料型別操作(char與varchar)MySql資料型別
- 應用中避免使用char/nchar型別型別
- char str[]和char *str的區別
- Oracle CHAR,VARCHAR,VARCHAR2,nvarchar型別的區別與使用Oracle型別
- C++中string、char *、char[]、const char*的轉換C++
- Java char 型別究竟佔幾個位元組?Java型別
- MySQL CHAR和VARCHAR資料型別介紹MySql資料型別
- MySQL中資料型別(char(n)、varchar(n)、nchar(n)、nvarchar(n)的區別)MySql資料型別
- 【基礎】Oracle CHAR,VARCHAR,VARCHAR2,nvarchar型別的區別與使用Oracle型別
- std::cout 輸出 unsigned char型別資料型別
- CString與LPCWSTR、LPSTR、char*、LPWSTR等型別的轉換型別
- 對於返回值型別不確定的函式如何限定返回值型別型別函式
- CHAR型別函式索引導致結果錯誤型別函式索引
- varchar和char的區別
- CAPL指令碼中常用到的資料型別轉換——數字型別(int/double)和字串型別(char array)指令碼資料型別字串