Вопрос: Использование istringstream дает ошибку | Зачем


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

 [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
  • г ++

5


источник


Ответы:


GCC дает ошибка  когда вы забудете это:

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

14