Xcode C++ Struct Order
Xcode C++ Struct Order
下面
给出的代码由于结构的顺序不允许编译。song_node结构具有播放列表变量,播放列表结构具有song_node变量。
此代码在Visual Studio或gcc编译上运行。
struct song_node {
song* data;
song_node* next;
song_node* prev;
playlist* parent;
};
struct playlist {
int songnumber;
char* name = new char[LNAME_LENGTH];
song_node* head;
playlist* next;
playlist* prev;
};
我是Xcode的新手。这段代码有什么问题?
考虑类playlist
的前向声明:
struct playlist; //Here
struct song_node {
song* data;
song_node* next;
song_node* prev;
playlist* parent;
};
struct playlist {
int songnumber;
char* name = new char[LNAME_LENGTH];
song_node* head;
playlist* next;
playlist* prev;
};
然后编译器知道playlist
,你可以在song_node
中使用它,即使它还没有实现(尚未(。
你需要做一个前向声明。
struct playlist;
struct song_node {
song* data;
song_node* next;
song_node* prev;
playlist* parent;
};
struct playlist {
int songnumber;
char* name = new char[LNAME_LENGTH];
song_node* head;
playlist* next;
playlist* prev;
};
编译器需要知道当您想在 song_node
中使用类似playlist
的东西时。通过向前声明播放列表,您可以告诉编译器存在这样的对象。
相关文章:
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- C++Union/Struct位域的实现和可移植性
- 如何在c++中定义以struct为数据成员的类中的构造函数
- 结构体 S { int align; } 之间的区别;(struct 关键字后的名称)和 struct { int al
- struct.error:解压缩 C++ 结构时,解包需要 288 字节的缓冲区
- Ascending order c++
- 错误:"Left of getValue must have class/struct/union"
- 在 SVM-Struct 中未定义对 sqrt 的引用(已使用 -lm)
- 数据类型"struct seq<0, 1, 2>{}"含义是什么?
- 如何处理Boost Spirit X3导致Visual Studio 2019 "static initialization order fiasco"?
- 附加使用 Struct 作为"multikey"并将 std::vector 用作映射值的映射
- QML/C++/QObject Struct Copy
- 如何在 cpp 中解压缩数字,如果它们是使用 struct.pack(fmt, v1, v2, ..) 打包在 pyth
- Msgpack能否提供更好的性能和与Python的struct.pack()相同的功能?
- 将向量传递给<struct> Lua 表
- MPI_DOUBLE_INT and C++ struct
- C++ 中的"template <typename From, typename Tag> struct Alias;"是什么?
- 如何使用Struct打印交换函数
- Xcode C++ Struct Order