c++ - 打印 vector 的 vector

标签 c++ vector

我正在尝试制作一个由 int 类型的 vector 组成的 vector ,然后将其打印出来。我在 main.cpp 中有这段代码。

Grid myGrid;
for (int i  = 0; i < myGrid.getdivas(); i++)
{
    for (int j = 0; j < myGrid.getdivas(); j++)
    {
        cout << myGrid[i][j];
    }
}

我的网格构造函数是

Grid::Grid()
{
    for (int i = 0; i < 10; i++) 
    {
        vector<int> row; 
        for (int j = 0; j < 10; j++) 
        {
            row.push_back(0); 
        }
        grid_.push_back(row);
    }
}

我一直在 cout 语句中收到错误:

'Grid' does not define this operator or a conversion to a type acceptable to the predefined operator

最佳答案

应该是:

cout << myGrid.grid_[i][j]; // if grid_ is public

但您可能想要重载 operator[]给你上课。更好的是,有一个成员函数可以打印或重载 operator<< .

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

相关文章:

c++ - 如何使用 Opencv 2.3 更改灰度图像的像素值?

c++ - 将数据传递给来自不同线程的函数

c++ - 在没有 std::merge 的情况下合并两个 STL 容器

c++ - 迭代 vector/ map 数据结构 C++

c++ - 从访问者模式返回一个值

c++ - 按住键盘输入时犹豫?

c++ - 为什么以下 C++ 代码中存在内存泄漏?

c++ - 如何在 C++ 中创建类对象的 vector ?

c++ - 循环遍历 C++ vector

vector - 如何将矢量点从一个 LonLat 移动到 OpenLayers 中的另一个?我正在使用OSM