-1
makedge
函數中的這種內存分配是什麼類型?makeedge()返回的內存類型是靜態還是動態類型?
#include<iostream>
#include<stdio.h>
using namespace std;
struct edge
{
int a;
int b;
edge(int a, int b)
{
this->a=a;
this->b=b;
}
};
edge makedge(int a, int b)
{
return edge(a, b);
}
int main(void)
{
edge e=makedge(5 , 6);
printf("%d %d\n", e.a, e.b);
}
當我嘗試釋放內存使用delete(&e)
。錯誤是
Error : double free or corruption (out): 0x00007fff6aee5d30 ***
在geeksforgeeks在線編譯器。
?這聽起來像你可以使用[良好的C++書](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) – NathanOliver
只有'刪除'你'新',和'刪除[]'你'新的[]''。 –