vector<T>
有一个构造函数,它采用向量的大小,据我所知它是显式的,这可以通过以下代码无法编译的事实来证明
void f(std::vector<int> v);
int main()
{
f(5);
}
我无法理解并要求您解释的是以下代码编译的原因
std::vector<std::vector<int>> graph(5, 5);
它不仅可以编译,它实际上将图形调整为 5 并将每个元素设置为五个零的向量,即与我通常编写的代码相同:
std::vector<std::vector<int>> graph(5, std::vector<int>(5));
如何?为什么?
编译器:MSVC10.0
好的,似乎这是一个 MSVC 错误(又一个)。如果有人可以详细说明答案中的错误(即总结复制它的情况),我很乐意接受