小编ang*_*ela的帖子

stringstream未在此范围内声明

我遇到了stringstream.my visual studio的问题,linux g ++也无法理解stingstream.我添加了sstream但它没有解决任何问题.我以前一直在使用它,现在真的不知道它有什么用呢?

#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
}
Run Code Online (Sandbox Code Playgroud)

我正在编写一个编译器,所以代码是输出,这就是为什么它可能会有点奇怪.

c++ stringstream

5
推荐指数
1
解决办法
2万
查看次数

问题与longjmp

我想使用longjmp来模拟goto指令.我有一个包含struct类型元素的数组DS(int,float,bool,char).我想跳到标有"lablex"的地方,其中x是DS [TOP] .int_val.我怎么处理这个?

示例代码:

...
jmp_buf *bfj;
...
stringstream s;s<<"label"<<DS[TOP].int_val;
bfj = (jmp_buf *) s.str();
longjmp(*bfj,1);
Run Code Online (Sandbox Code Playgroud)

但是我认为它有问题我该怎么办?

错误:

output.cpp:在函数'int main()'中:

output.cpp:101:错误:从类型'std :: basic_string,std :: allocator>'转换为无效的类型'__jmp_buf_tag(*)[1]'

c++ longjmp

1
推荐指数
2
解决办法
1902
查看次数

标签 统计

c++ ×2

longjmp ×1

stringstream ×1