在类和构造函数中使用向量时出现分段错误

耶利米·李

我正在编写一个编程项目列表,而这个项目是制作15个拼图(幻灯片拼图)的。当我遇到一个小障碍时,我正在从事该项目。

我的代码编译得很好,但是当我运行它时,在第12行出现了分段错误: pos[0] = x;

#include <iostream>
#include <vector>
#include <stdlib.h>
#include <time.h>
using namespace std;
class Tile{
private:
    vector<int> pos;
    int value;
public:
    Tile(int x, int y, int value_){
        pos[0] = x;
        pos[1] = y;
        value = value_;
    }
    ~Tile(){}
    int getPos(int a){return pos[a];}
    void setPos(int a, int b){pos[a] = b;}
};
int main(){
    Tile tile1(1, 2, 10);
    Tile* t1;
    t1 = &tile1;

    // returns position "x"
    cout << t1->getPos(0);
    return 0;
}

我的意思是,我可以不必使用向量/数组来处理整个项目就可以完成整个项目,但是我仍然想知道,就我自己的理解而言,这为什么行不通。

基于我运行的调试,程序在初始化pos []向量的值时遇到了麻烦。

另一个问题:可能相关,我尝试在实例化矢量时设置其大小。

vector<int> pos(2);

但是然后我得到调试错误:

error: expected identifier before numeric constant

不知道这是怎么回事。我已经尝试了很多不同的方法,但是似乎无法弄清楚为什么向量不能在类内部工作。

我敢肯定,有一百种方法可以使这件小作品做得更好,我很想知道您会如何解决它,但是我还需要知道什么地方出了问题,特别是在我写的内容中并尝试了。

谢谢。

轨道轻赛

我试图在实例化时设置矢量的大小。

vector<int> pos(2);

但是然后我得到调试错误:

error: expected identifier before numeric constant

那是编译错误,不是调试错误。

您不能像这样初始化成员。但是,您可以(并且应该)使用父构造函数对其进行初始化:

Tile(int x, int y, int value_)
    : pos(2)
{
    pos[0] = x;
    pos[1] = y;
    value = value_;
}

当前,您只是将向量留空,然后访问(并写入!)不存在的元素。

无论如何,您真的不想要向量:这是很多动态分配。一个好的数组怎么样?或仅两个int秒。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在C ++中使用模板编写函数时出现了分段错误

来自分类Dev

在 C 中使用结构和指针时出现分段错误

来自分类Dev

使用clock()函数时出现分段错误

来自分类Dev

在向量中访问指针的成员函数时出现分段错误

来自分类Dev

在QtQuick 2应用程序中使用某些Qt5类时出现分段错误

来自分类Dev

在类中使用 const 和箭头函数时出现 SyntaxError

来自分类Dev

从向量擦除时出现C ++分段错误

来自分类Dev

在装配体中使用“ mov”时出现分段错误

来自分类Dev

尝试在OpenSSL中使用EVP功能时出现分段错误

来自分类Dev

在C中使用pthread_join时出现分段错误

来自分类Dev

在C ++中使用Delete时出现分段错误

来自分类Dev

在C中使用pthread_join时出现分段错误

来自分类Dev

在循环中使用getline()时出现分段错误

来自分类Dev

在 C 中使用 sprintf 时出现分段错误

来自分类Dev

在子集向量中使用第二个 & 时出现 R 函数错误

来自分类Dev

使用ctypes和线程时出现分段错误

来自分类Dev

使用Xlsxwriter和PyQt4时出现分段错误

来自分类Dev

使用类中的函数时出现错误

来自分类Dev

为什么在类构造函数中使用setState方法时,React会引发错误?

来自分类Dev

在类构造函数中使用vector时发生运行时错误?

来自分类Dev

调用函数时出现分段错误

来自分类Dev

调用c函数时出现分段错误

来自分类Dev

调用MPF函数时出现分段错误

来自分类Dev

函数返回时出现分段错误

来自分类Dev

调用 strcpy 函数时出现分段错误

来自分类Dev

在模板类中使用r和l值构造函数时出错

来自分类Dev

将函数的返回向量分配给另一个向量时出现分段错误

来自分类Dev

使用类和函数在Python中使用递归查找结果时出现问题

来自分类Dev

在另一个函数中使用创建的类时出现Python错误

Related 相关文章

  1. 1

    在C ++中使用模板编写函数时出现了分段错误

  2. 2

    在 C 中使用结构和指针时出现分段错误

  3. 3

    使用clock()函数时出现分段错误

  4. 4

    在向量中访问指针的成员函数时出现分段错误

  5. 5

    在QtQuick 2应用程序中使用某些Qt5类时出现分段错误

  6. 6

    在类中使用 const 和箭头函数时出现 SyntaxError

  7. 7

    从向量擦除时出现C ++分段错误

  8. 8

    在装配体中使用“ mov”时出现分段错误

  9. 9

    尝试在OpenSSL中使用EVP功能时出现分段错误

  10. 10

    在C中使用pthread_join时出现分段错误

  11. 11

    在C ++中使用Delete时出现分段错误

  12. 12

    在C中使用pthread_join时出现分段错误

  13. 13

    在循环中使用getline()时出现分段错误

  14. 14

    在 C 中使用 sprintf 时出现分段错误

  15. 15

    在子集向量中使用第二个 & 时出现 R 函数错误

  16. 16

    使用ctypes和线程时出现分段错误

  17. 17

    使用Xlsxwriter和PyQt4时出现分段错误

  18. 18

    使用类中的函数时出现错误

  19. 19

    为什么在类构造函数中使用setState方法时,React会引发错误?

  20. 20

    在类构造函数中使用vector时发生运行时错误?

  21. 21

    调用函数时出现分段错误

  22. 22

    调用c函数时出现分段错误

  23. 23

    调用MPF函数时出现分段错误

  24. 24

    函数返回时出现分段错误

  25. 25

    调用 strcpy 函数时出现分段错误

  26. 26

    在模板类中使用r和l值构造函数时出错

  27. 27

    将函数的返回向量分配给另一个向量时出现分段错误

  28. 28

    使用类和函数在Python中使用递归查找结果时出现问题

  29. 29

    在另一个函数中使用创建的类时出现Python错误

热门标签

归档