m0_53551873 2022-02-23 17:23 采纳率: 100%
浏览 124
已结题

C++语言bug [Error] invalid use of incomplete type 'struct LNdoe'

    用Dev C++写的程序,自己定义了两个除了名字其他一样的结构体,用malloc申请空间后用指针进行操作,同样的操作第一个结构体没问题,第二个结构体就报[Error] invalid use of incomplete type 'struct LNdoe'。盯着眼睛看了半天也没看出来这俩结构体有啥差别,尝试排列组合把名字和位置都换了换,一直都是一个行一个不行,求大佬指教。

测试的第一个结构体的代码:

#include<stdlib.h>
#include<stdio.h>
typedef struct LNdoe *PtrToLNode;
typedef struct SNode *PtrToSNode;
struct SNode {
    int Data;
    PtrToSNode Next;
};
struct LNode {
    int Data;
    PtrToLNode Next;
};
int main(){
    PtrToSNode p=(PtrToSNode)malloc(sizeof(struct SNode));
    p->Next=NULL;
    return 0;
}

结果正常:

img

测试第二个结构体的代码:

#include<stdlib.h>
#include<stdio.h>
typedef struct LNdoe *PtrToLNode;
typedef struct SNode *PtrToSNode;
struct SNode {
    int Data;
    PtrToSNode Next;
};
struct LNode {
    int Data;
    PtrToLNode Next;
};
int main(){
    PtrToLNode p=(PtrToLNode)malloc(sizeof(struct LNode));
    p->Next=NULL;
    return 0;
}

运行结果报错:

img

  • 写回答

3条回答 默认 最新

  • _GX_ 2022-02-23 17:42
    关注

    拼写错误
    typedef struct LNdoe *PtrToLNode;改为typedef struct LNode *PtrToLNode;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月4日
  • 已采纳回答 2月24日
  • 创建了问题 2月23日

悬赏问题

  • ¥15 cpuid是如何转换的
  • ¥15 MddBootstrapInitialize2失败
  • ¥15 LCD Flicker
  • ¥15 Spring MVC项目,访问不到相应的控制器方法
  • ¥15 esp32在micropython环境下使用ssl/tls连接mqtt服务器出现以下报错Connected on 192.168.154.223发生意外错误: 5无法连接到 MQTT 代理,如何解决?
  • ¥15 关于#genesiscsheel#的问题,如何解决?
  • ¥15 Android aidl for hal
  • ¥15 STM32CubeIDE下载程序报错
  • ¥15 微信好友如何转变为会员系统?(相关搜索:小程序)
  • ¥15 c# 直接使用c++ 类库文件