我已经使用了QDebug
一段msvc2010
时间的重载:
friend QDebug &operator<<(QDebug &debug, const UsingClass &uc)
{
debug << uc.stringForStreaming();
return debug;
}
但是,在MinGW
此gcc 4.6.2
签名下无法识别,我必须将其更改为(无参考 &):
friend QDebug operator<<(QDebug debug, const UsingClass &uc)
{
debug << uc.stringForStreaming();
return debug;
}
不知何故,这让我感到惊讶,因为我已经检查了头文件QDebug
并且那里的签名基本上是参考。
- 那么使用 重载运算符的正确签名是什么
QDebug
?SO:如何为 qDebug 重载 operator<<显示了没有参考的内容,但没有说明原因(不同的焦点)。 - 为什么第一个签名 (&) 在 msvc2010 中有效,但在 gcc 中失败?