2013-10-16 25 views
0

我想为Qstring的主窗口类(或任何其他类)重载+运算符。 这是我迄今所做的:在QString中重载+运算符,Qt

void operator+(QString a,QString b) 
{ 
    qDebug()<<"works"; 
} 

但事情是,在QString的+运算符重载已经(来连接,我猜)。 所以,如果我使用上面的代码,它会导致歧义(两个签名是相同的)。 如何重写实际功能到我自己的功能,而不需要新的类来保存QString?

+0

如果在子类中创建了此实现应覆盖 –

+0

超类的实现我刚才输入的代码到我的mainwindow.cpp 其示值误差: 为“运营商+”暧昧超载..... –

回答

1

尝试QString operator+(QString a,QString b)。重载函数的返回类型是QString,而不是void。编译器在两个重载之间不能有区别,只是返回类型不同。

+0

同样的错误: 'operator +'的模糊重载(操作数类型是QString和QString); –