求大神们指教

2023-11-14

都已经定义了,为什么出现如下错误,求大神们指教。

1>main.obj : error LNK2019: 无法解析的外部符号 "public: char __thiscall LinkStack<char>::Pop(void)" (?Pop@?$LinkStack@D@@QAEDXZ),该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "public: bool __thiscall LinkStack<char>::IsEmpty(void)" (?IsEmpty@?$LinkStack@D@@QAE_NXZ),该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall LinkStack<char>::Push(char &)" (?Push@?$LinkStack@D@@QAEXAAD@Z),该符号在函数 _main 中被引用
1>E:\0-coding\C++数据结构类\链栈\Debug\链栈.exe : fatal error LNK1120: 3 个无法解析的外部命令
(1)ListStack.h文件如下


#ifndef LISTSTACK_H
#define LISTSTACK_H
template <class T>
class LinkStackNode
{
public:
T data;
LinkStackNode<T>* link;
LinkStackNode(T& value):data(value),link(NULL){}
};
template <class T>
class LinkStack
{
LinkStackNode<T> *tos;
public: 
LinkStack():tos(NULL){}
void Push(T& value);
T& GetTop();
T Pop();
bool IsEmpty();
void MakeEmpty();
};
#endif LISTSTACK_H


(3)ListStack.cpp文件如下
#include "ListStack.h"
#include <cassert>


template<class T>
void LinkStack<T>::Push(T& value)
{
LinkStackNode<T> *add=new LinkStackNode<T>(value);
add->link=tos;
tos=add;
}
template<class T>
T& LinkStack<T>::GetTop()
{
return tos->data;
}
template <class T>
T LinkStack<T> ::Pop()
{
assert(tos!=NULL);
LinkStackNode<T> *old=tos;
tos=tos->link;
T data=old->data;
delete old;
return data;
}
template<class T>
bool LinkStack<T>::IsEmpty()
{
return tos==NULL;
}
template<class T>
void LinkStack<T>::MakeEmpty()
{
while (!this->IsEmpty())
{
this->Pop();
}
}


(3)main文件如下
#include <iostream>
#include <string>
#include "ListStack.h"
using namespace std;
int main()
{
LinkStack<char> samll;
    char a;
do 
{
cin>>a;
switch (a)
{
case '(': 
samll.Push(a);
break;
case ')':
if (!samll.IsEmpty())
{
samll.Pop();
break;
}
if (samll.IsEmpty())
{
cout<<"Wrong"<<endl;
exit(0);
break;
}

}
} while (a!='0');
if (samll.IsEmpty())
{
cout<<"OK"<<endl;
}
else
cout<<"Wrong"<<endl;
system("pause");
return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

求大神们指教 的相关文章

  • Excel重复查询

    工作中 经常对数据要求不重不漏 熟练用好基础工具很重要 比如 Excel筛选某一列的重复值方法 1 开始 gt 条件格式 gt 突出显示单元格规则 gt 重复值 2 写代码排查 重复的值会显示不一样的颜色 可肉眼观察到
  • SpringBoot与Spring的区别

    目录 Spring Boot 特性一 更快速的构建能力 Spring Boot 特性二 起步依赖 Spring Boot 特性三 内嵌容器支持 Spring Boot 特性四 Actuator 监控 Spring Boot 本质上是 Spr
  • Org.Hibernate.AnnotationException: No Identifier Specified For Entity I don't have a id in my table

    程序运行报错 Org Hibernate AnnotationException No Identifier Specified For Entity I don t have a id in my table Entity中 Id导包导错
  • linux 设置时区

    参考 https www cnblogs com librawhj p 8989755 html
  • 高频JMeter软件测试面试题

    近期 有很多粉丝在催更关于Jmeter的面试题 索性抽空整理了一波 以下是一些高频JMeter面试题 拿走不谢 一 JMeter的工作原理 JMeter就像一群将请求发送到目标服务器的用户一样 它收集来自目标服务器的响应以及其他统计数据 这
  • 《机器学习》(西瓜书)周志华学习思维导图——第六、七章

    本文主要介绍了机器学习中的常用算法支持向量机 SVM 和贝叶斯分类器 第六章 支持向量机 支持向量机是一种常用的分类模型 分类学习的基本思想就是基于训练集在样本空间找到一个划分超平面 将不同类别的样本分开 学习的目标是为了找到具有最大间隔的
  • 解决vue 微信JSSDK注入权限时出现“invalid signature”(ios)

    请求后台将当前页面的url传给后台 后台返回配置信息后使用wx config注入权限 安卓无任何问题 但是iOS一直无法无法正常运行 url里也没带有 号 打开debug查看提示的invalid signature 并且报错的url不是我当
  • SetThreadName & GetThreadName

    ypedef struct tagTHREADNAME INFO DWORD dwType must be 0x1000 LPCSTR szName pointer to name in user addr space DWORD dwTh
  • 2023 年博客之星的入围规则

    最近的活动 博客之星6月城市领跑比赛 CSDN 博客之星 是一年一度的博主评选 是平台对博主一年贡献的答谢 往年的博客之星均在年末进行 2023年我们进一步优化了博客之星的评选规则 让更多优质的博主更有机会上榜 也无需担心错过报名时间 以下
  • java获取汇率 美元-人民币

    import java io BufferedReader import java io DataOutputStream import java io IOException import java io InputStream impo
  • 第十三届“华中杯”大学生数学建模挑战赛题目 A 题 马赛克瓷砖选色问题

    第十三届 华中杯 大学生数学建模挑战赛题目 A 题 马赛克瓷砖选色问题 要求1 2 3用python完成 文章目录 第十三届 华中杯 大学生数学建模挑战赛题目 A 题 马赛克瓷砖选色问题 要求1 2 3用python完成 前言 一 算法构思
  • LibEvent中文帮助文档

    http blog csdn net zhouyongku article details 53431597 libevent源码分析 http blog csdn net yusiguyuan article details 182675
  • Rinetd 端口转发

    文章目录 端口转发工具 Rinetd 安装 利用 Rinetd 实现Service 负载均衡 端口转发工具 Rinetd Rinetd 重定向传输协议控制工具 可将源ip端口 数据转发至目标 ip端口 在 k8s 中用于将service服务
  • jwt实现token鉴权(nodejs koa)

    为什么需要token 在后台管理系统中 我们通常使用cookie session的方式用于鉴权 如何通过cookie session鉴权 nodejs koa 但这种方式存在着以下问题 比如cookie的容量太小 浏览器端和app端发送ht
  • 动态代理的两种方式以及区别

    JDK动态代理 利用反射机制生成一个实现代理接口的匿名类 在调用具体方法前调用InvokeHandler来处理 CGlib动态代理 利用ASM 开源的Java字节码编辑库 操作字节码 开源包 将代理对象类的class文件加载进来 通过修改其
  • Java-模板注释

    前言 好的代码规范是一个程序员的基本修炼 好的代码注释更能体现一个程序员的思维逻辑 虽然代码是用来给机器运行的 我们只要能写出能让编译器运行的代码就行了 但是如果没有好的编码规范 到项目后期 加入开发的人员逐渐增多时 每个人的编码风格都不一
  • navicat连接oracle进行数据的迁移到mysql以及遇到的问题总结

    打开navicat客户端连接oracle数据服务需要先配置oci dll文件 配置的过程为 打开navicat界面点击 工具 gt 选择 gt OCI 导入oci dll文件 注意 选择instanceclient需要跟oracle数据库的
  • python用bbp公式求圆周率_Python学习笔记

    本文为中国大学MOOC Python语言程序设计 课程学习笔记 课程主讲 嵩天老师 练习平台 Python123 参考教材 Python语言程序设计基础 一 使用公式的方法求解圆周率的值 pi 0 N 1000 for k in range
  • Ubuntu Kylin 20_10 在VMware Workstation Pro上安装

    Ubuntu Kylin 20 10 在VMware Workstation Pro上安装 文章目录 Ubuntu Kylin 20 10 在VMware Workstation Pro上安装 准备工作 在VMVMware Workstat
  • vue-cropper实战使用

    vue cropper 一个优雅的图片裁剪插件 查看演示 Demo README english 更新日志 一 安装使用 1 安装 npm 安装 npm install vue cropper 2 引入 Vue Cropper Vue2 组

随机推荐

  • C++打印类名+函数名的方法

    C 打印类名 函数名的方法 打log的时候经常需要将输出log时所在的类名 函数名写清楚 但是自己敲函数名和类名比较麻烦 复制粘贴的时候也会忘记修改而出错 下面介绍下如何在G GCC编译器下获得函数名和类名 如果只想获得函数名可以用C99的
  • 使用Git-bash将本地项目传到Github

    近几天复习了JavaWeb的一些基础 做了一个简单的管理系统 想放在Github上留个底 但只会用IDEA直接pull 就想着用本地的Gitbash直接pull 花了些时间能好了 现在总结下流程 1 首先在本地目录创建一个文件夹 作为版本库
  • pinia核心模块----store

    目录 一 概念 二 定义store 1 首先store目录下创建user ts文件 主要用来存放与user相关的store 2 页面中使用 一 概念 store简单来说就是数据仓库的意思 我们数据都放在store里面 当然你也可以把它理解为
  • SQL中Group By的使用

    SQL中Group By的使用 1 概述 2 原始表 3 简单Group By 4 Group By 和 Order By 5 Group By中Select指定的字段限制 6 Group By All 7 Group By与聚合函数 8
  • 操作系统(02)- 四个基本特征

    文章目录 一 操作系统的特征 1 并发 2 共享 3 虚拟 4 异步 一 操作系统的特征 操作系统的特征可以分为四类 并发 共享 虚拟 异步 其中并发和共享是最基本的特征 二者互为存在条件 后面会给出详细解释 下面详细的介绍这四种特征 1
  • 中国智能建筑行业运行状况与十四五应用前景调研报告2022版

    中国智能建筑行业运行状况与十四五应用前景调研报告2022版 修订日期 2021年12月 搜索鸿晟信合研究院查看官网更多内容 第一章 智能建筑发展概述 1 1 智能建筑的相关概念 1 1 1 智能建筑的定义 1 1 2 智能建筑的层次划分 1
  • Ubuntu安装redis5.0.0

    一 下载 sudo wget http download redis io releases redis 5 0 0 tar gz 如果慢 可以传上去 二 解压编译安装 解压后 切换目录 cd app redis 5 0 0 编译 make
  • 【C++】对数组指针的理解,例如 int (*p)[3]

    目录 简介 思考 理解 结语 简介 Hello 非常感谢您阅读海轰的文章 倘若文中有错误的地方 欢迎您指出 昵称 海轰 标签 程序猿 C 选手 学生 简介 因C语言结识编程 随后转入计算机专业 获得过国家奖学金 有幸在竞赛中拿过一些国奖 省
  • 【MYSQL】mysql1130错误与安装重置密码

    1 连接服务器 mysql u root p 2 看当前所有数据库 show databases 3 进入mysql数据库 use mysql 4 查看mysql数据库中所有的表 show tables 5 查看user表中的数据 sele
  • freeswitch编译过程以及添加odbc连接mysql

    freeswitch 编译 参考官网wiki bootstrap sh j configure prefix home make make j install make j cd sounds install make j cd moh i
  • Git的Patch功能

    本文整理编辑自 http www cnblogs com y041039 articles 2411600 html http yuxu9710108 blog 163 com blog static 2375153420101114488
  • 可以免费使用的ChatGPT-4,微软开放Bing Chat功能,供用户体验

    微软Bing取消了 Bing Chat的等待名单 现在用户可以通过使用 Edge 浏览器并使用微软帐户登录就可以使用Bing Chat了 入口 打开Bing首页 用户点击 聊天 Chat 即可进入Bing Chat界面 目前Bing Cha
  • Open3D(C++) 模型锐化

    目录 一 模型锐化 1 概述 2 主要函数 二 代码实现 三 结果展示 1 原始模型 2 锐化处理 一 模型锐化 1 概述 Open3D中的实现一种模型锐化处理的算法 该算法的输出值 v o v o v
  • uni.switchTab()跳转不刷新页面问题

    uni switchTab 跳转不刷新页面问题 大家应该都遇到过 调转到 tabBar 里面的页面时 只能使用 uni switchTab 或者是 uni navigator 跳转 使用 uni reLauch 或者是 uni redire
  • 【BLE】-CC2541 OSAL操作系统抽象层应用程序接口API介绍

    参考源source 简介 目的 本文档的目的是定义OS抽象层 OSAL 的API 这个API适用于TI协议栈软件组的产品 例如Z 堆栈 RemoTI 和BLE 适用范围 该文件列举了由OSAL提供的所有函数调用 详细地说明了所有函数调用 方
  • C++11之继承构造函数(using 声明)

    系列文章 C 11之正则表达式 regex match regex search regex replace C 11之线程库 Thread Mutex atomic lock guard 同步 C 11之智能指针 unique ptr s
  • SQL,NowSQL及NewSQL浅析

    关系型数据库 NOSQL NEWSQL浅析 1 关系型数据库 关系数据库 是建立在关系模型基础上的数据库 借助于集合代数等数学概念和方法来处理数据库中的数据 简单来说 关系模型指的就是二维表格模型 而一个关系型数据库就是由二维表及其之间的联
  • 华为OD机试 - 在字符串中找出连续最长的数字串(含“+-”号)(Java)

    题目描述 请在一个字符串中找出连续最长的数字串 并返回这个数字串 如果存在长度相同的连续数字串 返回最后一个 如果没有符合条件的字符串 返回空字符串 注意 数字串可以由数字 0 9 小数点 正负号 组成 长度包括组成数字串的所有符号 仅能出
  • 臭名昭著的MOS管米勒效应

    概述 MOS管的米勒效应会在高频开关电路中 延长开关频率 增加功耗 降低系统稳定性 可谓是臭名昭著 各大厂商都在不遗余力的减少米勒电容 分析 如下是一个NMOS的开关电路 阶跃信号VG1设置DC电平2V 方波 振幅2V 频率50Hz T2的
  • 求大神们指教

    都已经定义了 为什么出现如下错误 求大神们指教 1 gt main obj error LNK2019 无法解析的外部符号 public char thiscall LinkStack