struct Edge;
struct Node {
int id;
vector<Edge> *edges;
};
struct Edge {
int id;
Node* vertex1;
Node* vertex2;
};
int main(){
vector<Edge> nodeEdgeList;
Node* nodePtr = new Node;
nodePtr->id = vertex;
nodePtr->edges = nodeEdgeList;
}
由于最后一行,我得到以下编译器错误。如何使用指针指向结构的向量?
error: cannot convert 'std::vector<Edge, std::allocator<Edge> >' to 'std::vector<Edge, std::allocator<Edge> >*' in assignment
如果您试图构建几何实体层次结构,我建议您保存指针列表(矢量 EdgeList)不是指向重复对象列表的指针。 –
2012-04-07 07:39:21
同意Semih Ozmen你应该考虑修改你的Struct定义,因为这里的意图有点奇怪而不是标准形式。 – EdChum 2012-04-07 07:52:26