“无效读取大小1”错误与复制构造函数有关

时间:2016-05-30 13:22:30

标签: c++ valgrind copy-constructor

Character::Character(const Character& rhs)
{
    _healthPoints = rhs._healthPoints;
    _attackPoints = rhs._attackPoints;
    _defensePoints = rhs._defensePoints;
    int i = 0;
    while(rhs._name[i] != 0)
        i++;
    int len = i;
    _name = new char[i];
    i = 0;
    for(int k = 0; k <len ; k++)
        _name[k] = rhs._name[k];
}

当我通过valgrind分析我的代码时,它给出了此错误“无效读取大小1”。这个错误的原因是内部的。我既不明白它导致此错误的原因,也不知道如何修复它。

提前致谢。

0 个答案:

没有答案