класс ref, возвращающий вектор меток

Я пытаюсь вернуть в форму несколько созданных меток в векторе, а затем добавить их в форму. Но я получаю много ошибок, я думаю, что я использую класс ref (что я использую указатель ^) неправильно. Код (немного измененный) сначала работает с обработчиком события кнопки, но затем, когда я переместил его (попытался изменить его, чтобы он соответствовал) методу класса, это вызвало множество ошибок, таких как «ошибка C3699: ‘*‘: нельзя использовать это косвенное указание для типа’ System :: Windows :: Forms :: Label ‘« , там около 80 этой ошибки. Что я делаю не так?

код:
заголовочный файл:

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;
}

0

Решение

Попробуйте определить указатель на вектор как указатель на вектор из ссылки Label:

vector<Label^> *pL;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]