Я компилирую устаревший проект с моими последними компиляторами gcc g++ (версия > 6)
Существует класс CodeWriter
с ссылочной переменной ostream
.
class CodeWriter
{
//private:
protected:
ostream &m_stream;
public:
CodeWriter(ostream &stream):m_stream(stream){}
~CodeWriter(){
if(m_stream != NULL){
m_stream.flush();
}
}
};
Класс довольно большой, поэтому я включил только соответствующие переменные и функции.
Как вы видите, деструктор, похоже, сравнивает ссылку на NULL
.
Этот проект был составлен отлично, когда я использовал его с помощью старой gnu toolchain.
Но теперь это ошибка, говорящая, что нет сопоставления operator !=
для сравнения ostream
и long int
.
Может ли кто-нибудь объяснить обоснование изменений и как я могу это исправить?
Я был бы рад предоставить дополнительную информацию/включить весь класс, если потребуется.