简体   繁体   English

主返回时发生BLOCK_TYPE_IS_VALID(pHead-> nBlockUse)

[英]BLOCK_TYPE_IS_VALID(pHead->nBlockUse) occurs on main return

my class: 我的课:

template <class type>
class List{
    public:
        List(){
            _list = new type[10];
        }
        ~List(){
            delete this->_list;
        }       

    private:
        type* _list;

};

in main: 在主要:

int main(){
List<std::string> l = List<std::string>();

return 0;
}

It happens only if I put non primitive variable in <> and dont use new. 只有当我在<>放入非原始变量并且不使用new时才会发生这种情况。

I can avoid this by doing it like this: List<string> *l = new List<string>(); 我可以通过这样做来避免这种情况: List<string> *l = new List<string>();

What I'am missing? 我错过了什么? In my mind it should perfectly fine. 在我看来它应该完全没问题。

尝试删除[]而不是删除,因为您正在分配数组。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM