初めての寄稿者ですが、過去の投稿を正しくチェックしたと思いますが、うまくいく解決策が見つかりません。私はVisual Studio 2012を使用しています...
基本的に、私がやりたいことは、オブジェクトが所有するログ ファイルに出力をストリーミングすることだけです。これがどの程度正確に達成されるべきかについては問題はありませんが、アーカイブでは何も機能しません。
私が理解しているように、この受け入れられた解決策はうまくいくはずです:
#include <fstream>
// classA.h
class A {
private:
std::ofstream * _logfile;
public:
A(void);
void dosomething(void) const;
}
と
// classA.cpp
#include classA.h
A::A(void) : _logfile(0) {
std::ofstream output("logfile.txt",std::ofstream::app);
_logfile = &output;
}
A::dosomething(void) {
*_logfile << "Print something" << std::endl;
}
と
// main.cpp
int main() {
A a = new A();
a->dosomething();
}
これは正常にコンパイルされますが、ハングします。ほとんどの場合、出力が ctor end で消えるためだと思います。この機能を実現するための優れた堅牢な方法は何ですか? その他の StackOverflow の提案を読むと、コンパイラ エラーが発生します...
ありがとう、クリス