【问题标题】:ref class , returning a vector of labelsref 类,返回标签向量
【发布时间】:2014-05-30 03:34:33
【问题描述】:

我正在尝试将向量中创建的许多标签返回到表单,然后将它们添加到表单中。但是我得到了很多错误,我的猜测是我使用了 ref 类(我使用了指针 ^)错误。代码(稍作修改)最初在按钮的事件句柄中工作,但是当我将它(试图修改它以适应)移动到类方法时,它导致了很多错误,例如 "error 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;
}

【问题讨论】:

    标签: c++ forms ref


    【解决方案1】:

    尝试将指向向量的指针定义为 Label refs 的指向向量的指针:

    vector<Label^> *pL;
    

    【讨论】:

    • 我试过了,然后将 myText 更改为: Label ^myText = gcnew Label;使用向量,但它仍然会产生尽可能多的错误@Max。
    • 我什至尝试制作一个点向量并返回它,但这也行不通。
    • 啊,对不起。这是一个远射
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-05
    相关资源
    最近更新 更多