我在Windows下使用g ++(使用cygwin)。当我使用auto_ptr或删除数组时,我的程序崩溃了。 这是两个例子,在运行时崩溃。我没有得到任何编译错误。
gcc版本是5.2.0-1。
我用它编译它
g++ -O3 -g0 -Wall -c -fmessage-length=0 -std=c++14 -MMD -MP -MF"src/PtrTest.d" -MT"src/PtrTest.o" -o "src/PtrTest.o" "../src/PtrTest.cpp"
示例1:
#include <iostream>
#include <memory>
int main() {
std::auto_ptr<int> test1(new int);
return 0;
}
示例2:
#include <iostream>
#include <array>
int main() {
std::array<int, 4> *a = new std::array<int,4>;
delete a;
return 0;
}
有什么想法吗?
非常感谢!