Я пытаюсь восстановить какое-то старое программное обеспечение, но проблема в том, что программное обеспечение было написано в 2003 году с MC, и файлы Iostream Header для Windows изменились с того времени iostream.h
до iostream
.
Так что этоПрограммное обеспечение имело библиотеку трехмерных матриц, которая имела функцию, подобную этой
friend ostream& operator<< (ostream&, const CMatrix3D<T>&);
, эта функция была более не совместима с iostream
, поэтому я изменил ее на:
friend bool operator<< (std::ostream&, const CMatrix3D<T>&);
, но теперь в одинместо, где эта функция была ранее вызвана как:
friend ostream& operator << (ostream& os, block* bl)
{
vec_3d p1 = bl->points[0]->value();
vec_3d p2 = bl->points[6]->value();
os << "Diagonal points: " << p1 << " " << p2;
return os;
}
, а затем я изменил ее на:
friend bool operator << (std::ostream& os, block* bl)
{
vec_3d p1 = bl->points[0]->value();
vec_3d p2 = bl->points[6]->value();
os << "Diagonal points: " << p1 << " " << p2;
return os;
}
, сообщая мне следующие ошибки:
error C2297: '<<' : illegal, right operand has type 'const char [2]'
error C2678: binary '<<' : no operator found which takes a left-hand
operand of type 'int' (or there is no acceptable conversion)
Может кто-топредложить мне выход?