C++ Debug:Invalid address specified to RtlValidateHeap
@Author:CSU张扬 @Email:csuzhangyang@gmail.com or csuzhangyang@qq.com @我的网站: https://www.faker.top Invalid address specified to RtlValidateHeap 1. 问题概述 报错如下: HEAP [ String . exe ] : Invalid address specified to RtlValidateHeap ( 02730000 , 0274 ED98 ) 监视窗口各变量的值: 异常位置发生在 v.push_back(std::move(s2)); ,该语句进入了 free() 函数, 异常最后在函数 free() 的最后。 free() 是我自定义的 String 类的析构函数内容,释放 allocator 分配的内存。 class String { public : // 省略一部分代码。。。 // 正确的代码 String ( String && s ) noexcept : sz ( s . sz ) , p ( s . p ) { s . p = 0 ; s . sz = 0 ; std :: cout << "move constructor" << std :: endl ; } // 错误的代码 // String(String&