Хорошо, вот действительно странный.Я читаю необработанные данные в буфер, ничего необычного, мой код выглядел так:
typedef unsigned char Byte;
/* ... */
static Byte SerializeBuffer[2048];
/* ... */
std::streamsize readInBuffer =
data.read((char*)SerializeBuffer, sizeof(SerializeBuffer));
Но я бы продолжал получать сообщение об ошибке компиляции 'error: invalid cast from type ‘void *’ to type ‘std::streamsize’'
, не знаю, почему компилятор считает, что sizeof былпустой указательНу, я попытался разыграть его несколькими способами, но одна и та же ошибка продолжала происходить.Я закончил с этим:
std::streamsize dummy = sizeof(SerializeBuffer);
std::streamsize readInBuffer =
data.read((char*)SerializeBuffer, reinterpret_cast<std::streamsize>(dummy));
Что всплывает следующее: error: invalid cast from type ‘std::streamsize’ to type ‘std::streamsize’
Я в полной растерянности.Любые другие идеи?
Компилятор: gcc 4.4.5
ОС: Linux 2.6.35
edit: То же самое в Visual Studio 2010