【发布时间】:2020-09-25 09:15:46
【问题描述】:
错误发生在“删除指针;”
代码:
#include <iostream>
int main() {
int i = 5;
int* pointer = &i;
*pointer = 0;
std::cout << "Value: " << i << std::endl;
delete pointer;
std::cout << "This does not print" << std::endl;
return 0;
}
输出:
Value: 0
untitled1(11320,0x106c20dc0) malloc: *** error for object 0x7ffeeeb00948: pointer being freed was not allocated
untitled1(11320,0x106c20dc0) malloc: *** set a breakpoint in malloc_error_break to debug
Process finished with exit code 6
操作系统:macOS Catalina 10.15.6 (19F101)
C++14
CMake:3.16.5(与 CLion 捆绑)
gcc -v 的输出:
❯ gcc -v
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 11.0.3 (clang-1103.0.32.29)
Target: x86_64-apple-darwin19.5.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
【问题讨论】:
-
请阅读一本好的C++ programming 书籍,然后阅读n3337,C++11 标准