字符串类型的 2d 数组(C++;)
2d Arrays of type string in C++;
大家好,我正在尝试实现大小为 5*5 的 2d 数组,其中包含一些字符串。当 i=我尝试循环打印 2d 数组时,它在"<<"符号上给出错误,我不知道如何解决它,任何人都可以帮助我。 这是我的代码:
#include <iostream>
using namespace std;
int main()
{
string students[5][5]={"Wayne","Val","Yolanda","Zeus","Xavier",
"Yolanda","Wayne","Val","Xavier","Zeus",
"Wayne","Zeus","Xavier","Wayne","Zeus",
"Val","Yolanda","Xavier","Wayne","Zeus",
"Wayne","Yolanda","Val","Zeus","Xavier"};
for(int i=0; i<5; i++)
{
for(int j=0; j<5; j++)
{
cout<<students[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
你应该包括字符串
#include <string>
然后:
#include <iostream>
#include <string> //<-------
using namespace std;
int main()
{
string students[5][5] = {
{"Wayne","Val","Yolanda","Zeus","Xavier"},
{"Yolanda","Wayne","Val","Xavier","Zeus"},
{"Wayne","Zeus","Xavier","Wayne" ,"Zeus"},
{"Val","Yolanda","Xavier","Wayne","Zeus"},
{"Wayne","Yolanda","Val","Zeus","Xavier"}
};
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
cout << students[i][j] << " ";
}
cout << endl;
}
return 0;
}
您正在初始化长度为 25 的单个数组。你必须像这样做初始化:
string students[5][5]={ { "Wayne","Val","Yolanda","Zeus","Xavier" },
{ "Yolanda","Wayne","Val","Xavier","Zeus" },
{ "Wayne","Zeus","Xavier","Wayne","Zeus" },
{ "Val","Yolanda","Xavier","Wayne","Zeus" },
{ "Wayne","Yolanda","Val","Zeus","Xavier" } };
而且,正如弗朗索瓦·安德里埃(François Andrieux(在评论中提到的,您还应该包含正确的标题
#include <string>
因为它定义了字符串的operator<<
。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 数组索引的值没有增加
- 将对象数组的引用传递给函数
- 为char数组调整zlib-zpipe
- 2D数组来自文本输入,中间有空格
- std::向量与传递值的动态数组
- 在c++中用vector填充一个简单的动态数组
- 使用strcpy将char数组的元素复制到另一个数组
- 使用指针从C++中的数组中获取最大值
- C++使用整数的压缩数组初始化对象
- 告诉一个 const char 数组,除了编译时 C 样式的字符串外,它不以 '