0
벡터에서 여러 개의 만들어진 레이블을 양식으로 반환하고 양식에 추가하려고합니다. 하지만 난 많은 오류가 발생합니다, 내 생각 엔 내가 포인터를 사용하는 ref 클래스를 사용하고 있습니다 ^). 코드 (약간 수정) 버튼의 handlare에서 처음에 작동하지만 그때 나는 그것을 적응 (예 : 맞게 수정) 클래스 메서드에 많은 오류가 발생했습니다 "오류 C3699 : '* ':이 유형을'System :: Windows :: Forms :: Label ' 유형으로 사용할 수 없으며 약 80 개의 오류가 있습니다. 내가 뭘 잘못하고 있니?레이블의 벡터를 반환하는 ref 클래스
코드 : 헤더 파일 :
ref class Bingo
{
public:
Bingo();
~Bingo();
//void HighscoreLista();
//void SkickaText();
vector<Label> StartaSpelet();
vector<int> bricka();
//void AvslutaSpelet();
//void VisaAndraSpelet();
private:
vector<int> *pV;
vector<Label> *pL;
Label ^myText;
string *NamnPaSpelet;
};
CPP 파일 :
Bingo::Bingo()
{
NamnPaSpelet = new string("Bingo");
pV = new vector<int>;
pL = new vector<Label>;
myText = gcnew Label;
srand(time(NULL));
}
Bingo::~Bingo()
{
delete NamnPaSpelet;
delete pV;
}
vector<Label> Bingo::StartaSpelet()
{
Point punkt(25,60);
//First label to show the next pulled number
myText->Text = "click on \"next number\" to start";
myText->Location = Point(20,20);
myText->Name="lblDragetNummer";
myText->AutoSize=true;
(*pL).push_back(myText);
//creates the rest of the labels (25)
for(int i =1; i<=25; i++)
{
if (i>0 && i<=5)
punkt = Point(25+(30*i),60);
if(i>5 && i <= 10)
punkt = Point(25+(30*(i-5)),90);
if(i>10 && i<=15)
punkt = Point(25+(30*(i-10)),120);
if(i>15 && i <=20)
punkt = Point(25+(30*(i-15)),150);
if(i>20 && i <=25)
punkt = Point(25+(30*(i-20)),180);
myText->Text = "Test";
myText->Location = punkt;
myText->AutoSize=true;
(*pL).push_back(myText);
}
return *pL;
}
hat로 변경 한 다음 myText를 다음으로 변경했습니다. Label^myText = gcnew Label; 벡터를 사용하여 작업 할 수 있지만 여전히 @만큼의 오류를 생성합니다. – MattiasLarsson
나는 심지어 점의 벡터를 만들려고 시도하고 그것을 반환, 그 중 하나를 작동하지 않습니다. – MattiasLarsson
아, 죄송합니다. 멍청한 순간 이었어. –