ПоЧЕМУ!?
Мне нужно прочитать из бинарного файла число в формате float я делаю это так:
float a_new=0;
a_new|=in.get();
a_new<<=8;
a_new|=in.get();
a_new<<=8;
a_new|=in.get();
a_new<<=8;
a_new|=in.get();
cout<<a_new<<endl;
Но компилятор ругается на это и говорит
- "53 invalid operands of types ` float' and `int' to binary `operator|' "
Когда вместо float ставлю тип int у переменной, то все работает ПОЧЕМУ!
Либо скажите дркгой способ чтения переменной float.
А что если прочитать как строку а потом перевести в флоат...
Не совсем понятно как, можно поподробней?
double x;
x = atof( s );
s - это строка в которую ты считываешь значение...
Потому что нет такого бинарного оператора для аргументов один из которых float, а другой int. Для float вообще нет бинарных операторов.
А почему бы тебе не использовать read ?
Death Knight и Green, спасибо большое за помощь очень помогли.