将 class 指针传递给函数
Passing class pointer to a function
我想在另一个函数中使用不同的 WText 实例,但由于我只想拥有一个控制函数,所以我想将它们传递到那里。
当前设置的代码可以编译,但由于一些我不理解的内存错误而失败。
class mode : public WApplication
{
//..
private:
//..
void someFunc();
void control(WText* texty);
WText* text;
WText* text2;
WText* text3;
//...etc
};
void mode::someFunc(){
control(text); //how to pass it?
//might pass text2 or text3 as well
}
void mode::control(WText* texty){
texty->setText("blabla");
//..
}
text成员是指向对象WText的指针,
您需要做的第一件事是创建一个新的 WText 对象:
void mode::someFunc() {
text = new WText();
control(text);
}
请记住使用后销毁文本对象。
我想在另一个函数中使用不同的 WText 实例,但由于我只想拥有一个控制函数,所以我想将它们传递到那里。
当前设置的代码可以编译,但由于一些我不理解的内存错误而失败。
class mode : public WApplication
{
//..
private:
//..
void someFunc();
void control(WText* texty);
WText* text;
WText* text2;
WText* text3;
//...etc
};
void mode::someFunc(){
control(text); //how to pass it?
//might pass text2 or text3 as well
}
void mode::control(WText* texty){
texty->setText("blabla");
//..
}
text成员是指向对象WText的指针, 您需要做的第一件事是创建一个新的 WText 对象:
void mode::someFunc() {
text = new WText();
control(text);
}
请记住使用后销毁文本对象。