繁体   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