[英]How do I create an array of pointers of type char C++?
我對指針不是很熟悉,但是我有一個任務要求我創建一個 char 類型的指針數組。 我似乎無法運行代碼。
#include <iostream>
using namespace std;
int main() {
int n = 0;
char *seasons[] = { "Winter",
"Spring",
"Summer",
"Fall"};
cout << seasons[n] << endl;
return 0;
}
我從教科書中復制並粘貼了這段代碼,但我不斷收到數組中字符串的錯誤。 錯誤是 E0144:“const char *”類型的值不能用於初始化“char *”類型的實體
我想知道您的教科書制作者是否將現有的 C 代碼快速而骯臟地轉換為 C++。 在 C 中,字符串文字是char
類型的數組(即使它們是不可變的),但在 C++ 中,它們是const char
類型的數組。
這里的解決方案是將seasons
的類型更改為const char *[]
以創建指向這些const char
數組的指針數組:
const char *seasons[] = { "Winter",
"Spring",
"Summer",
"Fall"};
順便說一句,我也不喜歡你的書using namespace std;
. 它會用整個 std 命名空間污染全局命名空間,這可能(並且根據我的經驗)導致會破壞代碼的沖突。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.