невозможно сравнить ostream и cout при выполнении visual studio 2017

#c #visual-studio-code

#c #visual-studio-code

Вопрос:

В заголовочном файле у меня есть iostream include и decalred объект ostream, как показано ниже

 ostream amp;oustream;
 

В cpp-файле:

 if(**oustream != cout**) // this line not working 
 
 error:binary '!=': no operator found which takes a left-hand operand of type 'std::ostream' (or there is no acceptable conversion)
 

Эти программы отлично работают с vs2010 complier и были проблемой с vs2017.

Комментарии:

1. Стандарт std::ostream не сопоставим. В вашем старом компиляторе это было либо как расширение, либо как ошибка, но оно не переносимо. Если вы в отчаянии, вы можете сравнить адреса, но если вы пытаетесь определить, выводится ли вывод на терминал, стандартного способа сделать это нет.

2. Сравнение адресов работает так же, как и раньше? . Пример программы работал, но касался того факта, что ранее мы сравнивали идентичность, а теперь сравниваем равенство объектов.