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