首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用QT5.7初始化stdout

如何用QT5.7初始化stdout
EN

Stack Overflow用户
提问于 2016-10-18 11:20:30
回答 1查看 219关注 0票数 0

我注意到了qDebug() QTextStrean中的一些东西,通常是stdin,stdout想问,它实际上是如何工作的,请参见以下内容:

这个工作!

方法使用显示菜单()

代码语言:javascript
复制
showMenu(){
            QTextStream m_out(stdout);
            QTextStream m_in(stdin);

            m_out() << "Hey";
}

,这不管用!

.h

代码语言:javascript
复制
//declaration 

public:
   QTextStream m_out;
   QTextStream m_in;

.cpp

代码语言:javascript
复制
//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

会是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-18 11:25:51

在C++11之前,您需要在构造器初始化列表中这样做。在类的构造函数定义中,例如MyStreamer,您可以像这样初始化它:

代码语言:javascript
复制
class MyStreamer{
....
public:
   QTextStream m_out;
   QTextStream m_in;
};

在您的.cpp文件中:

代码语言:javascript
复制
MyStreamer::MyStreamer(...) : m_out(stdout), m_in(stdin) {
    ....
}

在C++11和其他版本中,您可以简单地使用统一的初始化。

代码语言:javascript
复制
class MyStreamer{
....
public:
   QTextStream m_out{stdout};
   QTextStream m_in{stdin};
};
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40106849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档