我目前正在為將繪制到螢屏上的多邊形撰寫一個類。然而,我的問題是,我無法弄清楚如何從陣列陣列(對于每個頂點的 x 和 y 保存整數)創建結構陣列。我正在通過建構式傳遞這個陣列。我認為我的錯誤與嘗試將指標作為整數傳遞有關,盡管經過危險的研究,我似乎無法解決如何解決我的錯誤。我來自動態型別語言(主要是 Js 和 Python)的背景,這是我在靜態型別語言中的第一個大型專案。任何幫助是極大的贊賞。
struct Point {
int x , y;
};
class Polygon
{
private:
Point centre;
Polygon(int x, int y, int vertices[]) {
centre = {x, y};
struct Point points[sizeof(vertices)/sizeof(vertices[0])] = {vertices};
}
//etc....
};
//Example of how it will be called in main.cpp
int main{
Polygon polygon(0, 0, {{5,5}, {-5,5}, {5,-5}, {-5,-5}} );
}
uj5u.com熱心網友回復:
這個怎么樣?
struct Point {
int x , y;
};
class Polygon
{
private:
Point m_centre;
std::vector <Point> m_vec_vertices;
public:
Polygon(const Point& centre, const std::vector<Point> &vertices)
:m_centre(centre), m_vec_vertices(vertices) { }
//etc....
};
int main(){
Polygon polygon({0, 0}, {{5,5}, {-5,5}, {5,-5}, {-5,-5}} );
}
您定義的點類,在Polygon建構式中為什么不使用它,而不是x和y好嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/361749.html
