c++ - 我无法将项目添加到 ( std::vector < std::vector <std::string>> )

标签 c++ linux

<分区>

为什么我不能向 vector 添加项目:

std::vector < std::vector <std::string> > my_list;
my_list[0][0] = "this is text";

std::cout << "text: " << my_list[0][0] << std::endl;

我做错了什么?

最佳答案

与某些容器(例如 std::map)不同,std::vector 不会按需增长。

因此,在索引元素之前,您需要确保 std::vector 具有合适的大小。您可以通过传递构造尺寸来做到这一点。

在您的情况下,您可以使用华而不实的语法

std::vector < std::vector <std::string> > my_list{{"this is a test"}};

让事情顺利进行。

关于c++ - 我无法将项目添加到 ( std::vector < std::vector <std::string>> ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47694540/

相关文章:

python - 在 Amazon Linux 上安装 psycopg2 时出错

c++ - 如何在 openssl 中添加自己的 rand_poll 实现?

linux - 如果服务器不用作邮件服务器,将 "IP domain.tld"添加到 (/etc/hosts) 文件有什么意义?

c++ - 为什么 OpenCL 在 cpp 中使用 0xdeadbeef?

c++ - 更改对象数组的指针

c - 我如何在汇编中编写所有这些

未知原因的 C++ libpthread 程序段错误

linux - 如何在 Linux 内核中递归读取目录的内容?

c++ - 知道 libcurl 是否完成文件下载的可靠方法是什么?

c++ - 如何调用非模板方法而不是模板方法?