duplicate symbol '__ZN6VertexC2Eci' in:
/private/var/folders/vc/3kj9mnnj0kq7q9p65xwy02f40000gn/T/EDGE-8fc5e7.o
/private/var/folders/vc/3kj9mnnj0kq7q9p65xwy02f40000gn/T/VERTEX-a123e4.o
duplicate symbol '__ZN6VertexC1Eci' in:
/private/var/folders/vc/3kj9mnnj0kq7q9p65xwy02f40000gn/T/EDGE-8fc5e7.o
/private/var/folders/vc/3kj9mnnj0kq7q9p65xwy02f40000gn/T/VERTEX-a123e4.o
我正在尝试创建一个有向无环图,其中包含边和顶点,并允许我对其执行一些拓扑排序以及其他功能。我的顶点将包含一个边向量,它表示导致顶点依赖关系的边,并且我的边类声明还包含一个顶点目标,它表示该边的目标顶点。每次我尝试编译程序时都会收到此错误:
我尝试在 Edge.h 和 Vertex.h 文件中向前声明类。 我决定这样做是因为如果我只在其中任何一个中包含标头(即在 Edge.h 中包含 Vector.h 以便能够使用它),我会收到错误:
根据研究,我发现前向声明是帮助解决该问题的一种方法。 有办法解决这个问题吗?
好吧,你的 Vertex.cpp 和 Edge.cpp 都定义了相同的 Vertex::Vertex(char, int) ——对于你的图像,我无法复制粘贴任何内容或分解你的符号;我假设另一个可能是析构函数。