[英]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.