我注意到了qDebug() QTextStrean中的一些东西,通常是stdin,stdout想问,它实际上是如何工作的,请参见以下内容:
这个工作!
方法使用显示菜单()
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
会是什么?
发布于 2016-10-18 11:25:51
在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};
};https://stackoverflow.com/questions/40106849
复制相似问题