std::vector go(n+1,std::vector<int>());
时间: 2024-10-08 14:25:48 浏览: 25
vector的用法.doc
在C++中,`std::vector<go(n+1, std::vector<int>())>` 这段代码似乎有点错误,应该是想要创建一个大小为 `n+1` 的 `std::vector`,其中每个元素都是一个新的 `std::vector<int>`。这里的 `go(n+1)` 看起来像是一个函数调用或者是一个表达式,但它不是向 `std::vector` 的构造函数传递的正确参数。
正确的语法应该是这样的:
```cpp
std::vector<std::vector<int>> vec(n+1); // 创建一个包含 n+1 个空 vector<int>
for (size_t i = 0; i <= n; ++i) {
vec[i] = std::vector<int>(); // 或者直接这样初始化所有元素
}
```
如果 `go` 是一个函数,那么应该像下面这样传递给 `std::vector` 的构造函数:
```cpp
std::vector<std::vector<int>> vec(n+1, go); // 如果 go 返回一个 vector<int>
```
这里的关键点在于 `std::vector` 内部元素的初始化,而不是一个函数名作为默认值。
阅读全文