我正在与一些同学一起制作一个用C ++分析Clos网络性能的项目。我们遇到了以下问题:
static const int dim = 3;
packet **pack;
pack = new packet*[dim];
for (int i=0; i<dim; i++)
pack[i]=new packet();
这几行生成此错误消息
答案 0 :(得分:0)
我从编译器错误中看到的第一个显而易见的事情是,它似乎无法将packet
识别为类型。
接下来的事情是,这些错误是从名为“event.h”的文件生成的,而不是编译单元。您的代码是否在头文件中? 该代码不属于一个,但应该在编译单元中。我们无法看到它周围的背景。它属于函数,而不是类定义。
类“数据包”也需要是一个完整的类型,而不是向前声明的。
然而,您当然应该使用std::vector
中的向量,并且如果您不打算使用对象向量,则管理其中的指针shared_ptr
或unique_ptr
,即{ {1}}
据推测,vector<packet>
在标题中定义。包含样本中代码的编译单元需要包含该标题。