簡體   English   中英

如何創建 char C++ 類型的指針數組?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM