结构错误的 C++ 前向声明

标签 c++ struct forward-declaration

<分区>

我正在尝试用 C++ 执行此操作:

struct sagrup
{
    int imps;
    int clicks;
    int uclicks;
    int conversions;
    int * variable;
    unordered_map<int, struct sagrup> siguiente;
};

unordered_map<int, struct sagrup> agrupacion;

我收到错误:“struct sagrup”的前向声明

我想要那个结构并将其他结构添加到那个有序映射中,这样它就会像一棵树。

感谢任何可以提供帮助的人!

最佳答案

你有几个问题:

首先,你不需要到处使用struct。其次,试图将不完整的类型与需要完整类型定义的模板一起使用(否则它不知道如何构造它)。该映射应声明为指针,而不是 sagrup 的另一个实例。

结果代码看起来像this :

struct sagrup
{
    int imps;
    int clicks;
    int uclicks;
    int conversions;
    int * variable;
    unordered_map<int, sagrup*> siguiente;
};

unordered_map<int, sagrup> agrupacion;

关于结构错误的 C++ 前向声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21003675/

相关文章:

c - 什么是参数前向声明?

c++ - 在 C++ 中初始化引用类型

c++ - Entries(<key,values>) 未在映射中输入

c++ - 从第三类更改所有类的对象

STL - 如何将 std::find/std::find_if 与自定义类对象 vector 一起使用?

ruby - 为什么这个变量在结构中消失了?

JavaScript 数组/结构体

C++ 前向声明错误 - 无法绑定(bind)值

arrays - 从 2d 数组中的类型 'char[100][100]' 错误分配给类型 'char *' 时,类型不兼容

c++ - 为什么使用前向声明而不是#include 时会得到不完整的类型?