沉吟丹青 2020-09-01 10:21 采纳率: 70%
浏览 74
已采纳

c++error, 求大神看一下哪里有问题

没有compile time error, 不知道哪里出了问题

#include
#include
using namespace std;

class HW1
{
public:
char *word;
HW1() { }
~HW1() {
delete [] word;
}
};

void foo(HW1 a)
{
//some operation here
}

int main()
{
HW1 a;
a.word = new char[80];
strcpy(a.word, "abc");
foo(a);
return 0;
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-09-01 10:37
    关注
    #include <cstring> 
    #include <iostream>
    using namespace std;
    class HW1
    {
    public:
    char *word;
    HW1() { }
    ~HW1() {
    delete [] word;
    }
    };
    void foo(HW1& a) //加上
    {
    //some operation here
    }
    int main()
    {
    HW1 a;
    a.word = new char[80];
    strcpy(a.word, "abc");
    foo(a);
    return 0;
    }
    

    否则会导致拷贝了一个对象a,作为参数,指向相同的地址,两个对象调用delete导致重复释放

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?