Использование istringstream дает ошибку |Зачем - PullRequest
5 голосов
/ 11 ноября 2011

У меня есть один двоичный файл, который я создал.В нем данные хранятся в двоичной форме, но я покажу их в удобочитаемой форме, например:

 [someOtherData]6759A_block$[someOtherData]

Я храню эти данные "6759A_block $" в temp_S, который объявлен как строка.Теперь я хочу разделить сначала 3 байта от temp_S, а затем сохранить его в unsigned int.Чтобы выполнить мое желание, я должен написать ниже сегмент кода:

 unsigned int number;
 { 
 string tmp ( temp_S , 0  ,3 ); 
 istringstream temp_Istream ( tmp ) ;
 temp_Istream >> number;
 }

Однако, когда я компилирую свою маленькую программу, выдается ошибка, показанная ниже;

error: variable ‘std::istringstream temp_S’ has initializer but incomplete type

Мои вопросы:

  • В чем смысл этой ошибки компилятора?
  • как я могу исправить эту проблему и перенести первые три байта данных в unsigned int?

РЕДАКТИРОВАТЬ:

  • платформа Linux
  • г ++

1 Ответ

14 голосов
/ 11 ноября 2011

GCC дает, что ошибка , если вы забудете это:

#include <sstream> //this is where istringstream is defined
...