C++ 如何用qt5.7初始化stdout-stdin
我注意到qDebug()QTextStrean和通常的stdin的一些东西,stdou不想问,它实际上是如何工作的,见下图: 这很有效强> 方法showmenu()使用QTextStreamC++ 如何用qt5.7初始化stdout-stdin,c++,qt,stdin,qdebug,qt5.7,C++,Qt,Stdin,Qdebug,Qt5.7,我注意到qDebug()QTextStrean和通常的stdin的一些东西,stdou不想问,它实际上是如何工作的,见下图: 这很有效 方法showmenu()使用QTextStream showMenu(){ QTextStream m_out(stdout); QTextStream m_in(stdin); m_out() << "Hey"; } .cpp //method showMenu() s
showMenu(){
QTextStream m_out(stdout);
QTextStream m_in(stdin);
m_out() << "Hey";
}
.cpp
//method showMenu()
showMenu(){
m_out(stdout);
m_in(stdin);
m_out() << "Hey";
}
//方法showMenu()
showMenu(){
m_out(标准输出);
穆因(标准差饷);
m_out()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及更高版本中,您可以简单地使用统一初始化:
在C++11之前,您需要在构造函数初始化列表中执行此操作。
在类的构造函数定义中,比如说MyStreamer
,可以这样初始化它:
class MyStreamer{
....
public:
QTextStream m_out;
QTextStream m_in;
};
在.cpp文件中:
MyStreamer::MyStreamer(...) : m_out(stdout), m_in(stdin) {
....
}
在C++11及更高版本中,您可以简单地使用统一初始化:
在第一种情况下,您调用构造函数。在第二种情况下,您尝试调用不存在的operator()
。在第一种情况下,您调用构造函数。在第二种情况下,您尝试调用不存在的operator()
。