[英]Triangulation Monotone Polygon in RAD Studio C++ Builder
C++ Builder RAD Studio 中的代碼錯誤:[bcc32c 錯誤] Unit10.cpp(267):沒有匹配的構造函數用於初始化“triangulated_poly”。 怎么了? 請幫忙,以便一切正常。 //
//---------------------------------------------------------------------------
#include <vcl.h>
#include <vector>
#include <stack>
#pragma hdrstop
#include "Unit10.h"
using namespace std;
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm10 *Form10;
int ii=0;
//---------------------------------------------------------------------------
__fastcall TForm10::TForm10(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
class triangulated_poly :public polygone {
Stack stack;
int stack_length;
point left_vertex;
point right_vertex;
diagonal* diagonals;
flag_vertex* x_vertexes;
public:
triangulated_poly(point* U_points, point* L_points, int UPPER_count, int LOWER_count);
~triangulated_poly();
void x_sort();
void triangulate();
};
triangulated_poly::triangulated_poly(point* U_points, point* L_points, int UPPER_count, int LOWER_count) :polygone(U_points, L_points, UPPER_count, LOWER_count) {
..........
}
triangulated_poly::~triangulated_poly() {
.......
}
void triangulated_poly::triangulate() {
........
}
//---------------------------------------------------------------------------
void __fastcall TForm10::Button1Click(TObject *Sender)
{
HDC hdc=GetDC(Form10->Handle);
for (int i = 0; i < ii; i++)
{
MoveToEx(hdc,s[i].x,s[i].y,NULL);
LineTo(hdc,s[(i+1)%ii].x,s[(i+1)%ii].y);
}
triangulated_poly poly;
poly.triangulate();
}
線
triangulated_poly poly;
嘗試使用其默認構造函數構造一個triangulated_poly
。
您從未為triangulated_poly
聲明默認構造函數(即,除了空參數列表的構造函數),並且沒有隱式聲明的構造函數,因為您自己至少聲明了一個構造函數。 所以編譯器給你一個錯誤,沒有找到合適的構造函數。
無論是添加一個默認的構造函數來triangulated_poly
或構建triangulated_poly
與參數列表匹配triangulated_poly
的構造函數的參數:
triangulated_poly poly{/*arguments here*/};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.