如何在 c++ 中声明 3 维字符串数组

How to declare 3 dimensions string array in c++

本文关键字:字符串 数组 声明 c++      更新时间:2023-10-16
#include<stdio.h>
char count[3][5][14]={{"♠1","♠2","♠3","♠4","♠5","♠6","♠7","♠8","♠9","♠10","♠J","♠Q","♠K"},
                            {"◇1","◇2","◇3","◇4","◇5","◇6","◇7","◇8","◇9","◇10","◇J","◇Q","◇K"},
                            {"♣1","♣2","♣3","♣4","♣5","♣6","♣7","♣8","♣9","♣10","♣J","♣Q","♣K"},
                            {"♡1","♡2","♡3","♡4","♡5","♡6","♡7","♡8","♡9","♡10","♡J","♡Q","♡K"};

我想声明这种类型的数组,但它总是出现诸如"初始化器太多"之类的错误。如何修复此错误?

你想做的可能是这个:

const char * count[4][13]= {{"♠1","♠2","♠3","♠4","♠5","♠6","♠7","♠8","♠9","♠10","♠J","♠Q","♠K"},
                            {"◇1","◇2","◇3","◇4","◇5","◇6","◇7","◇8","◇9","◇10","◇J","◇Q","◇K"},
                            {"♣1","♣2","♣3","♣4","♣5","♣6","♣7","♣8","♣9","♣10","♣J","♣Q","♣K"},
                            {"♡1","♡2","♡3","♡4","♡5","♡6","♡7","♡8","♡9","♡10","♡J","♡Q","♡K"}};

无论如何,正如已经建议的那样,std::vectorstd::string应该是首选

C++的方法是使用像std::string这样的字符串类和像std::vector这样的容器(而不是原始的C样式char字符串和原始数组),例如:

 vector<vector<vector<string>>> x;

如果你真正想要的是一个二维字符串数组,那么那就是:

 vector<vector<string>> x;