• vs编译报错 BLOCK_TYPE_IS_VALID(pHead->nBlockUse)


    1.重复释放内存导致,new delete和malloc free两个组合分配的堆空间都不能重复释放两次;

    2.用delete或者free释放栈空间导致内存空间被破坏(栈空间内存的头部有系统写入的一些信息);

    3.

    //m_Mutex = true;

    //QModelIndexList ls1 = selected.indexes();  1.这种写法分配的栈空间,函数体结束之后程序报错;
    QModelIndexList* ls1 = new QModelIndexList(selected.indexes()); 2.必须要分配相应的堆空间才能不报错;
    QListIterator<QModelIndex> j(*ls1);
    while ( j.hasNext() )
    {
    QModelIndex m = MapToSource(j.next());
    if (!m.isValid())
    {
    continue;
    }

    CTableItem *item = static_cast<CTableItem*>(m.internalPointer());
    if(item && !item->IsChecked())
    {
    item->SetIsChecked(Qt::Checked);
    }
    }
    //DELETEOBJECT(ls1);  3.此处不能delete,否则也会报错;

  • 相关阅读:
    ECharts
    JavaScript实现数组去重方法
    面试题1
    Vue中的8种组件通信方式
    渐进式web应用 (PWA)
    单元测试(Jest 和 Mocha)
    axios
    Vue Router
    Vuex
    hash 模式与 history 模式小记
  • 原文地址:https://www.cnblogs.com/wzxNote/p/8609316.html
Copyright © 2020-2023  润新知