stringstream не был объявлен в этом объеме

У меня есть проблема с stringstream.my Visual Studio, ни Linux g ++ может понять stingstream. Я добавил поток, но он does'nt решает что-либо. Я работал с ним прежде и действительно не знаю то, что произошло с ним теперь?

#include <sstream>
#include <stdlib.h>
#include "SymbolTable.cpp"
#include "setjmp.h"
using namespace std;
jmp_buf *bfj;
int TOP , SP=3 ;
struct types{int int_val;float float_val;char char_val;bool bool_val;};

types DS[6400];
int main(){
...//some code here
label38 : stringstream s;
label39 : bfj = (jmp_buf *)"label65";
label40 : longjmp(*bfj,1);;
label41 : goto label43;
label42 : TOP=SP;
//some code here
}

Я пишу компилятор, таким образом, код является выводом, вот почему он может немного нечетные швы.

5
задан angela 21 June 2010 в 17:46
поделиться

2 ответа

Если вы включаете #include , тогда вы также должны ссылаться на класс с помощью:

std :: stringstream или объявить с использованием пространства имен std; перед его использованием.

Если вы разместите дополнительную информацию, мы сможем предоставить более подробную помощь.

11
ответ дан 18 December 2019 в 14:42
поделиться

Этот код отлично компилируется для меня под G ++:

#include <sstream>
#include <stdlib.h>
#include "setjmp.h"
using namespace std;
jmp_buf *bfj;
int TOP , SP=3 ;
struct types{int int_val;float float_val;char char_val;bool bool_val;};

types DS[6400];
int main(){
label38 : stringstream s;
label39 : bfj = (jmp_buf *)"label65";
label40 : longjmp(*bfj,1);;
label41 : goto label43;
label42 : TOP=SP;
label43 : (void)0;
//some code here
}

Единственная разница в том, что я удалил #include "SymbolTable.cpp" и добавил label43 .

Очевидно, если это не сработает для вас, проблема в некотором коде, который вы пропустили. // некоторый код здесь или в SymbolTable.cpp

Конечно, очень кажется подозрительным, что вы включаете файл cpp. Скорее всего, это ошибка.

2
ответ дан 18 December 2019 в 14:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: