没有匹配的功能来调用

时间:2012-09-18 21:32:13

标签: c++ qt

我从我的设计类中调用它并稍后将它们添加到布局中但我总是得到函数ladeBild(QLabel l, QString s)的错误消息

    void Levels::erzeugen(Levels *)
{
....

    ladeBild(l01,"l01.png");
    ladeBild(l02,"l02.png");
    ladeBild(l03,"l03.png");
    ladeBild(l04,"l04.png");
    ladeBild(l05,"l05.png");
    ladeBild(l06,"l06.png");
    ladeBild(l07,"l07.png");
    ladeBild(l08,"l08.png");
    ladeBild(l09,"l09.png");
    ladeBild(l10,"l10.png");
    ladeBild(l11,"l11.png");
    ladeBild(l12,"l12.png");
...
}

    void Levels::ladeBild(QLabel l,QString s)
{

    l = new QLabel();
    l.setBackgroundRole(QPalette::Dark);
    l.setAutoFillBackground(true);
    image = new QImage(s);//Muss im debug-Ordner sein!!!
    l.setPixmap(QPixmap::fromImage(*image));
    l.setMaximumHeight(image->height());
    l.setMaximumWidth(image->width());

}

我收到以下错误消息(每次调用ladeBild

In member function 'void Levels::erzeugen(Levels*)': Fehler:no
matching function for call to 'Levels::ladeBild(QLabel*&, const char
[8])' candidates are: void Levels::ladeBild(QLabel, QString) Fehler:no
match for 'operator=' in 'l = (QFlags<Qt::WindowType>(0u), (operator
new(20u), (<statement>, ((QLabel*)<anonymous>))))' candidates are:
QLabel& QLabel::operator=(const QLabel&)`

无法解决此问题...

1 个答案:

答案 0 :(得分:2)

Levels::ladeBild需要QLabel,但应该是QLabel*