【overcome error】dereferencing pointer to incomplete type
@
前言
这个问题是我在学习数据结构链栈部分遇到的,英文报错如题所示,中文意思是:取消引用不完整类型的指针,在百度一圈也没明白,(百度搜索,看一个和全看基本一样,因为内容都一样嘛)
解决
代码情况
//定义
typedef struct
{
ElemType data;
struct LinkedStackNode* next;
}LinkedStackNode, *Linknode;
//读栈顶
/*
初始条件:链栈已存在,且至少有一个元素
*/
int StackTop(Linknode top, int* x)
{
if(top->data == 0)
return -1;
*x = top->next->data;
return 1;
}
分析问题
取消引用不完整类型的指针
这里的意思大概是有不完整的指针,结构体和指针都属于引用类型,而结构体内部定义是完整的,所以不完整的只有结构体本身,即:
//定义
//typedef struct 修改为:
typedef struct LinkedStackNode
{
ElemType data;
struct LinkedStackNode* next;
}LinkedStackNode, *Linknode;
{
ElemType data;
struct LinkedStackNode* next;
}LinkedStackNode, *Linknode;
//读栈顶
/*
初始条件:链栈已存在,且至少有一个元素
*/
int StackTop(Linknode top, int* x)
{
if(top->data == 0)
return -1;
*x = top->next->data;
return 1;
}
尾声
说这么多的目的并不是证明这个是我原创的,只是提供一种排除的思路。
【overcome error】dereferencing pointer to incomplete type的更多相关文章
- error: dereferencing pointer to incomplete type
/******************************************************************************* * error: dereferenc ...
- 关于编译报错“dereferencing pointer to incomplete type...
今天同事问了我一个问题,他make的时候报错,“第201行:dereferencing pointer to incomplete type”,我随即查阅了很多资料,也没看出个所以然.最后问题得到了解 ...
- 编译报错dereferencing pointer to incomplete type
关于编译报错“dereferencing pointer to incomplete type... 多是没找到结构体的定义,可以在本地复制其定义试试. 参考: http://my.oschina.n ...
- 【读书笔记】iOS-Tagged Pointer对象-注意事项
一,2013年9月,苹果推出了iPhone5s,与此同时,iPhone5s配备了首个采用64位架构的A7双核处理器,为了节省内存和提高执行效率,苹果提出了Tagged Pointer的概念. 对于64 ...
- 【VS Error】VS2008在编译时出现:Error 15 Cannot register assembly
现象: 在visual studio 2008在编译类库时提示如下错误: Error 15 Cannot register assembly "D:\01_Work\02_SVN\OCRpl ...
- 【Runtime Error】打开Matlib7.0运行程序报错的解决办法
1.在C盘建立一个文件夹temp,存放临时文件: 2.右键我的电脑-属性-高级系统设置-环境变量-系统变量,将TEMP.TMP的值改成C:\temp: 3.还是在第2步那里,新建变量,变量名称为BLA ...
- 【414 error】nginx GET请求过长导致414错误
server{ ... } 在上面一段配置中添加如下两行 client_header_buffer_size 5120k; large_client_header_buffers 5120k; 并重启 ...
- std::unique_ptr使用incomplete type的报错分析和解决
Pimpl(Pointer to implementation)很多同学都不陌生,但是从原始指针升级到C++11的独占指针std::unique_ptr时,会遇到一个incomplete type的报 ...
- 【MySQL案件】ERROR 1665 (HY000)
转载请注明: http://blog.csdn.net/jason_asia/article/details/36240815 1.1.1. ERROR 1665 (HY000) [环境的叙述性说明] ...
- 【MySQL案件】ERROR 1418
1.1.1. ERROR 1418 [环境的叙述性说明] mysql5.0.67 [问题叙述性说明] 当它来到创建存储过程ERROR 1418一个错误. # 创建函数SQL声明 CREATE FUNC ...
随机推荐
- “StackLLaMA”: 用 RLHF 训练 LLaMA 的手把手教程
如 ChatGPT,GPT-4,Claude语言模型 之强大,因为它们采用了 基于人类反馈的强化学习 (Reinforcement Learning from Human Feedback, RLHF ...
- jenkins的安装和配置(flask结合jenkins半自动化部署流程)
jenkins在虚拟机中安装 1.1 背景介绍 Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建.测试和部署等功能. Je ...
- js数组和字符串方法
一.数组方法 1.1.可以改变原数组 var arr = [10, 20, 30, 40, 50, 55]; // 1. **** push() --- 在数组的最后添加一项内容 // var ret ...
- 2022-01-30:最小好进制。 对于给定的整数 n, 如果n的k(k>=2)进制数的所有数位全为1,则称 k(k>=2)是 n 的一个好进制。 以字符串的形式给出 n, 以字符串的形式返回 n 的
2022-01-30:最小好进制. 对于给定的整数 n, 如果n的k(k>=2)进制数的所有数位全为1,则称 k(k>=2)是 n 的一个好进制. 以字符串的形式给出 n, 以字符串的形式 ...
- 2021-07-21:一张扑克有3个属性,每种属性有3种值(A、B、C),比如“AAA“,第一个属性值A,第二个属性值A,第三个属性值A,比如“BCA“,第一个属性值B,第二个属性值C,第三个属性值A
2021-07-21:一张扑克有3个属性,每种属性有3种值(A.B.C),比如"AAA",第一个属性值A,第二个属性值A,第三个属性值A,比如"BCA",第一个 ...
- 手动封装XMLHttpRequest
自己动手封装一个XMLHttpRequest, 兼容低版本浏览器,自动检测post与get 类型请求,自动参数拼接,参数类型辨别 <!DOCTYPE html> <html> ...
- 通过nc获取靶机的反弹Shell [靶机实战]
1.环境 Kali:172.30.1.3/24 靶机(Funbox9):172.30.1.129/24 2.信息收集 通过nmap扫描此主机,我们需要获取到开放的端口以及服务的Banner 1 nma ...
- super在python 2.7和Python3中的使用
重写是继承机制中的重要内容,对于构造方法尤为重要.构造方法用来初始化新建对象的状态,大多数子类不仅要有自己的初始化代码,还要拥有超类的初始化代码.如果一个类的构造方法被重写,那么就需要调用超类的构造方 ...
- Java动态数组及数组排序的三种常用方法
一.动态数组 1.数组的定义: 用于存储相同数据类型的一组连续的存储空间 2.数组的特点: 数组的长度一旦定义,则不可改变 访问数组的元素需要通过下标(索引)访问,下标从0开始 数组是 ...
- 使用 conda 和 Jupyter 创建你的自定义 R 包,转换笔记为幻灯片
创建你的自定义 R 包 出于用户使用方便考虑,Anaconda 已经在 "R Essentials" 中打包了一些最常用的数据科学 R 包.使用 conda metapackage ...