первый участник, но я считаю, что я правильно проверил прошлые сообщения и не нашел решение, которое работает. Я использую Visual Studio 2012 ...C++ std :: ofstream класс
По существу, все, что я хочу сделать, - это вывод потока в файл журнала, принадлежащий объекту. У меня нет зависаний о том, как именно это должно быть достигнуто, но ничего в архивах не работает.
Как я понимаю, это принято решение должно работать:
#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. Каков хороший надежный способ достижения этой функциональности? Другие предложения StackOverflow чтения приводить к ошибкам компилятора ...
Спасибо, Крис
'A a = new A();'? Я не верю вам, когда вы говорите, что этот код компилируется. –
Да, извините, пропуская * и это не единственная ошибка ... – loadsamates