[英]How to initialize stdout stdin with Qt 5.7
我注意到qDebug()QTextStrean和通常的stdin,stdout想要询问其实际工作方式,请参见以下内容:
这项工作!
使用QTextStream的showmenu()方法
showMenu(){
QTextStream m_out(stdout);
QTextStream m_in(stdin);
m_out() << "Hey";
}
这不起作用!
。H
//declaration
public:
QTextStream m_out;
QTextStream m_in;
.cpp
//method showMenu()
showMenu(){
m_out(stdout);
m_in(stdin);
m_out() << "Hey";
}
我注意到,它在重载方面存在问题,因为qDebug()也使用stdout ...我正确吗?
它引发此错误:
1> D:.. \\ App_console.cpp(20,15):错误:无法匹配对'(QTextStream)(_IO_FILE *&)'的调用
我包括了cstdio
会是什么呢?
在C ++ 11之前的版本中,您需要在“ 构造函数初始化列表”中执行此操作 。 在类的构造器定义中,说MyStreamer
,您可以像这样初始化它:
class MyStreamer{
....
public:
QTextStream m_out;
QTextStream m_in;
};
在您的.cpp文件中:
MyStreamer::MyStreamer(...) : m_out(stdout), m_in(stdin) {
....
}
在C ++ 11及更高版本中,您可以简单地使用统一初始化 :
class MyStreamer{
....
public:
QTextStream m_out{stdout};
QTextStream m_in{stdin};
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.