• 8396阅读
  • 3回复

QList 无法从XXX * 转化为 const Plane & [复制链接]

上一主题 下一主题
离线3314175
 

只看楼主 倒序阅读 楼主  发表于: 2009-04-05
— 本帖被 XChinux 执行加亮操作(2010-10-21) —
Plane *plane = new Plane;
        scene->addItem(plane);
        plane->setPos(0,0);
        listPlaneAir->append(plane);

PlaneNew *plane1=new PlaneNew;
        plane1->setPos(-200,200);
        scene->addItem(plane1);
        listPlaneLand->append(plane1);

        connect(this,SIGNAL(valueChanged(int)),listPlaneAir->first(),SLOT(setSpeed(int)));
        connect(this,SIGNAL(valueChanged(int)),listPlaneLand->first(),SLOT(setSpeed(int)));


报错
1>.\airport.cpp(28) : error C2664: 'QList<T>::append' : cannot convert parameter 1 from 'Plane *' to 'const Plane &'
1>.\airport.cpp(33) : error C2664: 'QList<T>::append' : cannot convert parameter 1 from 'PlaneNew *' to 'const PlaneNew &'
1>.\airport.cpp(35) : error C2664: 'bool QObject::connect(const QObject *,const char *,const QObject *,const char *,Qt::ConnectionType)' : cannot convert parameter 3 from 'Plane' to 'const QObject *'
1>.\airport.cpp(36) : error C2664: 'bool QObject::connect(const QObject *,const char *,const QObject *,const char *,Qt::ConnectionType)' : cannot convert parameter 3 from 'PlaneNew' to 'const QObject *'

其中listPlaneAir为QList<Plane>
listPlaneLand为QList<PlaneNew>
离线foxyz

只看该作者 1楼 发表于: 2009-04-07
listPlaneLand->append(plane1);  改成
listPlaneLand->append((*plane1));

你要搞清楚,参数的定义到底是指针,还是引用,还是。。。。。

        

        
离线3314175

只看该作者 2楼 发表于: 2009-04-07
谢谢大哥
离线yyxl
只看该作者 3楼 发表于: 2010-09-27
这个很有也可能少了头文件吧!
快速回复
限100 字节
 
上一个 下一个