• 6369阅读
  • 4回复

[提问]如何用QDebug打印自定义类型? [复制链接]

上一主题 下一主题
离线0354030w
 

只看楼主 正序阅读 楼主  发表于: 2013-01-21
如Message message;
qDebug()<<message;
看了下帮助文件
在Message.h中重载了<<运算符
QDebug operator <<(QDebug dbg, const Message &message);
在.cpp文件中
QDebug Message::operator<<(QDebug dbg, const Message &message)
{
         dbg.nospace() << "Message(" << message.getMessage() << " )";
         return dbg.maybeSpace();
}
但是一编译就报错了QDebug Message::operator<<(QDebug, const Message&)' must take exactly one argument
离线0354030w

只看该作者 4楼 发表于: 2013-01-22
问题是没有设成友元!问题已解决!
离线0354030w

只看该作者 3楼 发表于: 2013-01-22
回 2楼(passion_wu) 的帖子
如果只带一个参数的话会报错,提示要两个参数。疯了
离线passion_wu
只看该作者 2楼 发表于: 2013-01-22
编译器明确告诉你了,重载函数只能带一个参数。
离线0354030w

只看该作者 1楼 发表于: 2013-01-21
快速回复
限100 字节
 
上一个 下一个