在大图中,我想在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();
// ...
}
问题在于我尝试了*,&amp;的所有可能组合,以及组合学中已知的普通pLabel ......
我得到这个(它仅用于训练)并不是非常重要,但我很想知道如何解决这个问题。
答案 0 :(得分:0)
你试过了吗?
task->Construct(pLabel, 0);
由此我想指出你缺少MyTask :: Construct的第二个参数。
答案 1 :(得分:0)
不,我没有。我不知道第二个参数。但是这个问题已经解决了。如果我声明变量Object* __pVar
,那么构造函数应该是Init(Object* pVar)
,如果我想初始化一个实例变量,我应该写
Object* pVar = new Object();
MyClass* mClass = new MyClass();
mClass->Construct(pVar);