【问题标题】:How to store data in a 2D vector within class private?如何将数据存储在私有类中的二维向量中?
【发布时间】:2015-06-04 11:30:37
【问题描述】:

基本上,我从 txt 文件中获取数据并将其放入一个类函数中的向量中,然后在另一个类函数中检索该数据 - 但是当我尝试构建时收到一条错误消息。

在名为“Level”的班级的私有区域中,我定义了一个结构:

struct largeTile
{
    int texture;
}

接下来,在我的类的私有区域“Level”中,我定义了一个 2D 向量来保存结构对象:

vector<vector<largeTile> > vvint(int BIG_TILE_ROWS, vector<largeTile>(int BIG_TILE_COLUMNS));

在名为“Level”的类中,我有一个函数,它将用 txt 文件中的结构对象填充向量数组:

for(int r = 0; r < vvint.size(); r++)
{
    for(int c = 0; c < vvint.at(0).size(); c++)
    {
        fileData >> vvint[r][c].texture;
    }
}

虽然我收到此构建消息,但我做错了什么?我已经将类类型定义为“largeTile”不是吗?

错误:'((Level*)this)->Level::vvint' 没有类类型

【问题讨论】:

标签: c++ class vector struct


【解决方案1】:

您已将vvint 声明为一个函数。我猜你的意思是

vector<vector<largeTile>> vvint = 
    vector<vector<largeTile>>(BIG_TILE_ROWS, vector<largeTile>(BIG_TILE_COLUMNS));

ROWS 向量初始化它,每个向量大小为COLUMNS

【讨论】:

  • 错误消失了,它建立了,尽管在我的两个 for 循环中它没有添加文件数据。嗯..
  • @doomglhfcn:那你最好单步调试你的调试器,看看出了什么问题。如果您需要帮助,或发帖enough code to demonstrate the problem
猜你喜欢
  • 1970-01-01
  • 2021-01-21
  • 2020-12-01
  • 2017-07-04
  • 1970-01-01
  • 2021-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多