gpt4 book ai didi

c++ - 在 flex 错误 C++ 中定义结构

转载 作者:行者123 更新时间:2023-11-27 23:19:37 25 4
gpt4 key购买 nike

我想在 flex 程序中定义一个结构:

%{

#include <math.h>
#include <string>
#include <vector>
#include <iostream>
#include <map>

struct Node{
string action;
vector<Node> vecini[];
};

%}

即使我包含了 vector 和字符串,我仍然会收到以下错误:错误:“string”没有命名类型错误:字段“vecini”的类型不完整

谢谢!

最佳答案

vector 和字符串都在std中命名空间,因此您应该将其添加到这些类型的成员变量的声明中。将代码更改为:

%{

#include <math.h>
#include <string>
#include <vector>
#include <iostream>
#include <map>

struct Node{
std::string action;
std::vector<Node*> vecini[];
};

%}

编辑:(感谢 Kerrek SB):您也不能将 Node 的 vector 定义为 Node 的成员。而是像这样使用指向节点的指针 vector :std::vector<Node*> vecini[];

关于c++ - 在 flex 错误 C++ 中定义结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14218289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com