gpt4 book ai didi

c++ - vector 的初始化 vector

转载 作者:行者123 更新时间:2023-11-27 23:02:15 33 4
gpt4 key购买 nike

是下面的代码

vector<vector<int> > v(3,5);

合法的 C++ 98?它是合法的 C++11 吗?

它使用 MSVS 2010 进行编译并给出一个大小为 3 的 vector ,其中每个元素都是一个大小为 5 的 vector 。它无法使用 MSVS 2013 和 MSVS“14”进行编译。

最佳答案

std::vector 的单参数大小构造函数是明确的,所以只是 5不会工作,因为它不能隐式转换为 std::vector<int> .你需要这个:

std::vector< std::vector<int> > v(3, std::vector<int>(5));

自 C++98 以来,情况一直如此,此后一直没有改变(尽管实际构造函数签名在默认参数方面发生了变化;请参阅 cppreference entry 了解签名的历史)。

关于c++ - vector 的初始化 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26566840/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com