首页 > 解决方案 > how to define two dimensional string , not a char vector in C++

问题描述

i want to define the two dimensional string , not a char vector in C++ Like this :

vector<vector<char>> vect
{
        {"Simple", "Simple", "Simple"},
        {"Simple", "Simple", "Simple"},
        {"Simple", "Simple", "Simple"}
};

Thanks

标签: c++arraysvector

解决方案


在您的声明中,类型与初始化程序不匹配。你要么想要一个二维的字符串向量:

std::vector<std::vector<std::string>> vect
{
        {"Simple", "Simple", "Simple"},
        {"Simple", "Simple", "Simple"},
        {"Simple", "Simple", "Simple"}
};

或字符的 2D 向量,即字符串存储为的 1D 字符串向量std::vector<char>

vector<vector<char>> vect
{
        {'s', 'i', 'm'},
        {'p', 'l', 'e'},
        {'f', 'o', 'o'}
};

由于不清楚您真正想要什么,第三种选择是字符串向量(可以被视为 2d 字符容器):

std::vector<std::string> vect
{
        "Simple", "Simple", "Simple",
        "Simple", "Simple", "Simple",
        "Simple", "Simple", "Simple"
};

推荐阅读