gpt4 book ai didi

c++ - Xcode 没有链接两个结构?

转载 作者:行者123 更新时间:2023-11-28 00:20:57 24 4
gpt4 key购买 nike

为什么 Xcode 说无法识别“Vertex.h”?

//Vertex.h
#include "Edge.h"
struct Vertex
{
vector<Edge> adjList;
string myData;

};

在一个单独的文件中,

//Edge.h
#include "Vertex.h"
struct Edge
{
Vertex* destination; // "Unknown type named 'Vertex.h'
double weight;
}

这里哪里有错误吗?请帮忙。谢谢!

最佳答案

你有一个循环依赖:Vertex.h 依赖于 Edge.hEdge.h 又依赖于 Vertex.h...

在您的特定情况下,它很容易解决,因为 Edge.h 不需要 Vertex 的完整定义,只需要知道 Vertex 结构存在,所以改变它

//Edge.h
struct Vertex;
struct Edge
{
Vertex* destination; // "Unknown type named 'Vertex.h'
double weight;
};

变化是您不包含 Vertex.h,而是声明 Vertex 结构。这告诉编译器存在一个名为 Vertex 的结构,因此它可以用于例如指针或引用。

关于c++ - Xcode 没有链接两个结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27548991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com