我正在处理从 Visual C++ 6.0 移植到 VC++ 9.0 (2008) 的遗留代码。我使用 _CRT_SECURE_NO_WARNINGS
预处理器定义禁用了安全 CRT 警告。但这导致 std::vector
析构函数崩溃。
使用 _CRT_SECURE_NO_WARNINGS
有什么问题吗?
最佳答案
它是怎么崩溃的?这听起来更像是你在一个位置有内存覆盖你的 vector 中的内存,然后在你的 vector 被释放之前释放它。我会用指针寻找任何地方。由于您现在使用的是符合标准的编译器,因此请将它们替换为 boost 共享指针或 boost 数组。任何可以消除对指针算法的需求的东西,其中使用迭代器会更安全。
关于c++ - 定义 _CRT_SECURE_NO_WARNINGS 会导致 vector 析构函数崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7120688/