Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何用qt5.7初始化stdout-stdin_C++_Qt_Stdin_Qdebug_Qt5.7 - Fatal编程技术网

C++ 如何用qt5.7初始化stdout-stdin

C++ 如何用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

我注意到qDebug()QTextStrean和通常的stdin的一些东西,stdou不想问,它实际上是如何工作的,见下图:

这很有效

方法showmenu()使用QTextStream

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()