我是个新手,刚开始用C++进行开发。
我正在尝试产生一个结构体,它将有指向其他结构体的指针…
这怎麽可能?
struct InitialNode {
Node * nextNode;
Node * lowerNode;
} InitialNode;
struct Node {
Node * nextNode;
Node * lowerNode;
int value;
} Node;在节点* nextNode;和节点* lowerNode所在的InitialNode结构处突出显示了一个错误。
有什么想法吗?
在此之前非常感谢:)
发布于 2012-04-19 19:11:35
有几个错误:
首先,我很确定你想要一台typedef。此外,您还需要在InitialNode之前转发声明Node
struct Node;
typedef struct InitialNode {
Node * nextNode;
Node * lowerNode;
} InitialNode;
typedef struct Node {
Node * nextNode;
Node * lowerNode;
int value;
} Node;你的语法
struct A
{
} A;尝试创建名为A的A类型的对象。请注意,typedef struct是一个C样式的声明,在C++中不需要它。你可以这样写:
struct Node;
struct InitialNode {
Node * nextNode;
Node * lowerNode;
};
struct Node {
Node * nextNode;
Node * lowerNode;
int value;
};发布于 2012-04-19 19:11:52
在c++中,标识符只能在声明之后才能使用。试试这个:
struct Node {
Node * nextNode;
Node * lowerNode;
int value;
};
struct InitialNode {
Node * nextNode;
Node * lowerNode;
} InitialNode;在InitialNode之前定义Node应该可以解决您的问题
https://stackoverflow.com/questions/10226762
复制相似问题