繁体   English   中英

flex cout 字符串崩溃

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM