-1
在我的節目我有結構:初始化結構
struct point {
float x;
float y;
};
編輯:我需要創建
struct Path{
Point array[];
}
與功能init_path(Path *p, int size)
初始化。
我的問題是,如何定義函數? 在此先感謝。
在我的節目我有結構:初始化結構
struct point {
float x;
float y;
};
編輯:我需要創建
struct Path{
Point array[];
}
與功能init_path(Path *p, int size)
初始化。
我的問題是,如何定義函數? 在此先感謝。
你Path
可能是這樣:
struct Path {
point* points;
};
void init_path(Path *path, int size) {
path->points = new point[size]();
}
但爲什麼你的教授希望的功能,而不是正確的構造函數/析構函數仍是一個謎。在這裏你仍然需要撥打delete[]
在points
某處。使用以下結構,您不需要任何init
函數,對象將正確刪除其資源。
struct Path {
Path(unsigned size) : points{ new point[size] } {}
~Path() { delete[] points; }
point* points;
};
是的,我雖然關於它。但不知道他爲什麼告訴我們將Path定義爲點數組,而不是指針。不管怎樣,謝謝!你確認這是最簡單的方法;) – user224301
這完全不清楚你問的是什麼。請提高你的問題!什麼是'init_path()'應該做的? –
歡迎來到堆棧溢出。請花些時間閱讀[The Tour](http://stackoverflow.com/tour),並參閱[幫助中心](http://stackoverflow.com/help/asking)中的資料,瞭解您可以在這裏問。 –