Я хочу передать указатель на структуру (переменные этой структуры - это массив с элементами, которые имеют значения x и y) в конструктор.Затем я хочу присвоить значения x и y каждой переменной этой структуры аналогичным значениям переменных структуры в классе.
class Convex_quadrliteral
{
protected:
struct VC {
float x, y;
} vertice_coordinate[4];
public:
Convex_quadrliteral (VC *pointerVC);
};
Convex_quadrliteral::Convex_quadrliteral (VC *pointerVC) {
cout << "\nObject is being created" << endl;
for (int i = 0; i < 4; i++) //variable initialisation
{
vertice_coordinate[i].x = pointerVC[i].x;
vertice_coordinate[i].y = pointerVC[i].y;
}
//object's properties output
cout << "Properties: " << endl
<< "A (" << vertice_coordinate[0].x << ", " << vertice_coordinate[0].y << ")" << endl
<< "B (" << vertice_coordinate[1].x << ", " << vertice_coordinate[1].y << ")" << endl
<< "C (" << vertice_coordinate[2].x << ", " << vertice_coordinate[2].y << ")" << endl
<< "D (" << vertice_coordinate[3].x << ", " << vertice_coordinate[3].y << ")" << endl;
}
int main()
{
struct vertice_coordinate
{
float x, y;
};
vertice_coordinate *pointerVC = new vertice_coordinate[4];
for (int i = 0; i < 4; i++) {
pointerVC[i].x = 2;
pointerVC[i].y = 2;
}
Convex_quadrliteral figure_1(pointerVC);
Я ожидаю выход: A (2, 2) B (2), 2) C (2, 2) D (2, 2)
Вывод является ошибкой: нет объявления, совпадающего с 'Convex_quadrliteral :: Convex_quadrliteral (Convex_quadrliteral :: VC *)' C C onvex_quadrliteral :: Convex_quadrliteral (VC *pointerVC)