[Error] base operand of '-' has non-pointer type 'stac

2024-03-30 01:38

本文主要是介绍[Error] base operand of '-' has non-pointer type 'stac,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

犯错=成长

编写顺序栈时出现下边的提醒

31[Error] base operand of '->' has non-pointer type 'stack'

直接上代码(错误版本):

#include <stdlib.h>
#include <stdio.h>
#define SIZE 1000
typedef struct{int data[SIZE];int top;
}stack; void Init(stack &s){//初始化棧,棧里面放的元素不一定是什么s.top=-1;    
} //初始化完成,各种参数也已经确定void Push(stack &s,int e){if(s.top==SIZE-1)printf("已经满了~");elses.data[++(s.top)]=e;
} void  Pop(stack &s,int &e){if(s.top==-1)printf("没有元素,无法抛出!");e=s.data[(s.top)--];}void Print(stack &s){while(s.top!=-1)printf("%d",s.data[s.top--]);
}int main(){stack s;Init(s);Push(s,2);Push(s,2);Push(s,2);Print(s);return 0;    
}
=============================================================

以下是正确版本:

#include <stdlib.h>
#include <stdio.h>
#define SIZE 1000
typedef struct{int data[SIZE];int top;
}stack; void Init(stack &s){//初始化棧,棧里面放的元素不一定是什么s.top=-1;    
} //初始化完成,各种参数也已经确定void Push(stack &s,int e){if(s.top==SIZE-1)printf("已经满了~");elses.data[++(s.top)]=e;
} void  Pop(stack &s,int &e){if(s.top==-1)printf("没有元素,无法抛出!");e=s.data[(s.top)--];}void Print(stack &s){while(s.top!= -1)printf("%d",s.data[s.top--]);
}int main(){stack s;Init(s);Push(s,2);Push(s,2);Push(s,2);  Print(s);return 0;    
}

反思:之前从来没有太注意 “.”以及”->”之间的区别,今天才发现有多么严重。”.”适用于结构体变量,”->”适用于结构体指针变量!!!!

还有,一定要记得初始化~## 标题 ##

这篇关于[Error] base operand of '-' has non-pointer type 'stac的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/860186

相关文章

Oracle type (自定义类型的使用)

oracle - type   type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式, 如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型 格式 :create or repla

Caused by: org.hibernate.MappingException: Could not determine type for: org.cgh.ssh.pojo.GoodsType,

MappingException:这个主要是类映射上的异常,Could not determine type for: org.cgh.ssh.pojo.GoodsType,这句话表示GoodsType这个类没有被映射到

编译linux内核出现 arm-eabi-gcc: error: : No such file or directory

external/e2fsprogs/lib/ext2fs/tdb.c:673:29: warning: comparison between : In function 'max2165_set_params': -。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。 。。。。。。。。 host asm: libdvm <= dalvik/vm/mterp/out/Inte

docker学习系列(四)制作基础的base项目镜像--jdk+tomcat

前面已经完成了docker的安装以及使用,现在我们要将自己的javaweb项目与docker结合 1.1准备jdk+tomcat软件 ​​我下载了apache-tomcat-7.0.68.tar.gz和jdk-7u79-linux-x64.tar.gz,存储于Linux机器的本地目录/usr/ect/wt/下(利用xshell上传)。利用linux命令 tar -zxvf apache-tom

收藏:解决 pip install 出现 error: subprocess-exited-with-error 错误的方法

在使用 pip 安装 Python 包时,有时候会遇到 error: subprocess-exited-with-error 错误。这种错误通常是由于 setuptools 版本问题引起的。本文将介绍如何解决这一问题 当你使用 pip install 安装某个 Python 包时,如果 setuptools 版本过高或过低,可能会导致安装过程出错,并出现类似以下错误信息:error: subpr

Nn criterions don’t compute the gradient w.r.t. targets error「pytorch」 (debug笔记)

Nn criterions don’t compute the gradient w.r.t. targets error「pytorch」 ##一、 缘由及解决方法 把这个pytorch-ddpg|github搬到jupyter notebook上运行时,出现错误Nn criterions don’t compute the gradient w.r.t. targets error。注:我用

src/pyaudio/device_api.c:9:10: fatal error: portaudio.h: 没有那个文件或目录

(venv) shgbitai@shgbitai-C9X299-PGF:~/pythonworkspace/ai-accompany$ pip install pyaudio sounddeviceCollecting pyaudioDownloading PyAudio-0.2.14.tar.gz (47 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ERROR 2003 (HY000): Can't connect to MySQL server on (10061)

在linux系统上装了一个mysql-5.5,启动后本机都是可以访问的,操作都正常,同时建了一个%的用户(支持远程访问), root@debian:/# mysql -u loongson -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id

pip install pyaudio sounddevice error: externally-managed-environment

shgbitai@shgbitai-C9X299-PGF:~/pythonworkspace/ai-accompany$ pip install pyaudio sounddeviceerror: externally-managed-environment× This environment is externally managed╰─> To install Python package

C++常见异常汇总(三): fatal error: google/protobuf/port_def.inc

文章目录 1、fatal error : sw/redis++/redis.h2、fatal error: dwarf.h: No such file or directory3、fatal error: elfutils/libdw.h: No such file or directory4、fatal error: libunwind.h: No such file or directo