创建对象矢量时出错

时间:2015-10-27 10:02:32

标签: c++ object vector

我正在与一些同学一起制作一个用C ++分析Clos网络性能的项目。我们遇到了以下问题:

static const int dim = 3;
packet **pack;
pack = new packet*[dim];
for (int i=0; i<dim; i++)
    pack[i]=new packet();

这几行生成此错误消息

enter image description here

1 个答案:

答案 0 :(得分:0)

我从编译器错误中看到的第一个显而易见的事情是,它似乎无法将packet识别为类型。

接下来的事情是,这些错误是从名为“event.h”的文件生成的,而不是编译单元。您的代码是否在头文件中? 该代码不属于一个,但应该在编译单元中。我们无法看到它周围的背景。它属于函数,而不是类定义。

类“数据包”也需要是一个完整的类型,而不是向前声明的。

然而,您当然应该使用std::vector中的向量,并且如果您不打算使用对象向量,则管理其中的指针shared_ptrunique_ptr,即{ {1}}

据推测,vector<packet>在标题中定义。包含样本中代码的编译单元需要包含该标题。