[英]flex cout string crash
当我尝试在 flex 程序中打印字符串(cout)时,程序崩溃了。 我的 .l 文件如下所示:
%{
#include <iostream>
#include <string>
using namespace std;
%}
%option noyywrap
%%
. {string str = "hi"; cout << str;}
%%
int main(){
yylex();
return 0;
}
我用 g++ 编译生成的文件。 我的 flex 版本是 2.5.35。
当我简单地写cout << "hi";
程序不会崩溃。
我究竟做错了什么?
它似乎适用于 flex 版本 2.5.39。
您可以使用 g++ -E 预处理生成的文件并查看输出以查看
{string str = "hi"; cout << str;}
没有改变。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.