0

总的来说,我想在 Bada 中创建一个基于框架的应用程序,它有一个 UI 控件 - 一个标签。到目前为止一切顺利,但我希望它显示我选择的数量并每 X 秒重复递减一次。线程很好(我认为),但我不能将标签指针作为类变量传递。

//MyTask.h 
//...
result Construct(Label* pLabel, int seconds);
//...
Label* pLabel;

//MyTask.cpp
//...
result
MyTask::Construct(Label* pLabel, int seconds) {
 result r = E_SUCCESS;
 r = Thread::Construct(THREAD_TYPE_EVENT_DRIVEN);
 AppLog("I'm in da constructor");
 this->pLabel = pLabel;
 this->seconds = seconds;

 return r;
}
//...

bool
Threading::OnAppInitializing(AppRegistry& appRegistry)
{
// ...

    Label* pLabel = new Label();
 pLabel = static_cast<Label*>(pForm->GetControl(L"IDC_LABEL1"));
 MyTask* task = new MyTask();
 task->Construct(&pLabel); // HERE IS THE ERROR no matching for Label**
 task->Start();

// ...
}

问题是我已经尝试了 *、& 和简单的 pLabel 的所有可能组合,在 Combinatorics 中已知......

我得到这个并不是非常重要(它只是为了培训),但我很想知道如何解决这个问题。

4

2 回答 2

0

不,我没有。我不知道第二个参数。但是这个问题解决了。如果我声明一个变量Object* __pVar,那么构造函数应该是Init(Object* pVar),如果我想初始化一个实例变量我应该写

Object* pVar = new Object();
MyClass* mClass = new MyClass();
mClass->Construct(pVar);
于 2010-07-20T20:42:35.277 回答
0

你有没有尝试过:

task->Construct(pLabel, 0);

我想指出的是,您缺少 MyTask::Construct 的第二个参数。

于 2010-07-20T14:33:48.903 回答