C++: 'identifier': identifier not found [Compiler Error C3861]

2023-11-08

问题:

模板类继承模板类时,子类无法直接访问父类成员,会报如下错误:

严重性	代码	说明	                   项目   文件	                  行 禁止显示状态
错误	C3861	“insertAsLast”: 找不到标识符 DSA   D:\Code\DSA\DSA\Queue.h  8	

环境:

  1. Visual Studio 2019

解决:

在子类访问父类时加上父类的前缀或者使用 this 调用。

 

问题分析:

对于各种类的继承分析:

  1. 非模板类            继承 非模板类:直接声明成员
  2. 模板类                继承 非模板类:在模板声明进行解析的时候就会进行查找
  3. 模板类/非模板类 继承 模板类   :进行名称二次查找

名称二次查找:

  1. 模板定义阶段:刚被定义时,只有模板中独立的名字(可以理解为和模板参数无关的名字)参加查找 。
  2. 模板实例化阶段:实例化模板代码时,非独立的名字才参加查找。

注:一个模板子类其实是不能在实例化之前就知道他的模板父类到底是谁,所以只能this->了

 

引用:

1. https://www.zhihu.com/question/28139230 
2. https://bbs.csdn.net/topics/391862079 
3. https://blog.csdn.net/u012175089/article/details/54231791
4. https://blog.csdn.net/sb985/article/details/79670881

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

C++: 'identifier': identifier not found [Compiler Error C3861] 的相关文章

  • 我如何才能等待多个事情

    我正在使用 C 11 和 stl 线程编写一个线程安全队列 WaitAndPop 方法当前如下所示 我希望能够将一些内容传递给 WaitAndPop 来指示调用线程是否已被要求停止 如果 WaitAndPop 等待并返回队列的元素 则应返回
  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 关于 C++ 转换:参数 1 从“[some_class]”到“[some_class]&”没有已知的转换

    我正在研究 C 并且遇到了一个错误 我不知道确切的原因 我已经找到了解决方案 但仍然想知道原因 class Base public void something Base b int main Base b b something Base
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • 使用 WebClient 时出现 System.Net.WebException:无法创建 SSL/TLS 安全通道

    当我执行以下代码时 System Net ServicePointManager ServerCertificateValidationCallback sender certificate chain errors gt return t
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 创建链表而不将节点声明为指针

    我已经在谷歌和一些教科书上搜索了很长一段时间 我似乎无法理解为什么在构建链表时 节点需要是指针 例如 如果我有一个节点定义为 typedef struct Node int value struct Node next Node 为什么为了
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le

随机推荐

  • 国产自主研发,完全可控 IDE!

    最近 互联网上逐渐有些热闹 日本福岛核废水排海计划 中国自主研发 IDE 作为一名开发者 自然好奇国产自主研发的 IDE 不禁夸赞吾国威武 某方面领域越来越强 该产品名为 CEC IDE 是由数字广东公司联合麒麟软件打造国内首款适配国产操作
  • 乐高叉车wedo教案_24乐高教育wedo编程摩天轮教案

    1 人小组 时长 1 5 活动目标 巩固对三角形结构的稳定性的认识 认识重力的方向是垂直向下 活动准备 9886 套装 摩天轮图片 活动过程 备注 联 系 20 一 互动问大家去游乐园座过摩天轮没有 二 看视频了解摩天轮能座在上面旋转 很高
  • dotnet java_我所理解的JAVA和 DotNet

    Java 从实用性来讲 Java 可以说是第一种 网页 语言 尽管像 Perl 等语言会突然发现它们处理字符串的能力在恢复价值和发送 HTML 到网页浏览器上是天生的 但是 Java 是最早发现自己是根植于浏览器中 最初是在一个有趣但却非常
  • Python基础知识点总结

    https www cnblogs com wu chao p 8421708 html Python中pass语句的作用是什么 pass语句不会执行任何操作 一般作为占位符或者创建占位程序 Python是如何进行类型转换的 Python提
  • python下的pyecharts应用4----绘制cpu折线图

    要求 1 截止到运行一刻 2 每秒钟监测 3 绘制折线图 设计 获取cpu的代码如下 1 获取系统cpu占有率的信息 import psutil import time 隔1s绘制cpu的占有率 gt 持久化的保存 如何将时间和对应的cpu
  • html5 页面可以上下滚动条,h5页面上下左右滑动

    var startX 0 startY 0 operate 0 backDom addEventListener touchstart function evt evt preventDefault var touch evt touche
  • js身份证号校验

    if card console log 请输入身份证号 身份证号不能为空 return false if isCardNo card false console log 您输入的身份证号码不正确 return false 检查省份 if c
  • 西门子PLC的常见的通讯方式

    1 PPI通信 T PPI协议是S7 200cpu最基本的通信方式 S7 200cpu的默认通信方式可通过原端口通信 西门子PLC是一种专为工业环境应用而设计的数字操作电子系统 可编程存储器 存储逻辑操作 顺序控制 定时 计数 算术操作等指
  • Ubuntu常用命令汇集

    ubuntu常用命令汇集 文章目录 一 文件组织结构 二 常用命令 三 权限 一 文件组织结构 为根目录 为系统最基本的目录 home下有用户名的文件夹 该文件夹就是 为主目录 为日常使用的目录 命令在终端中输入 需要注意当前所在的文件夹
  • 神经网络学习小记录64——Pytorch 图像处理中注意力机制的解析与代码详解

    神经网络学习小记录64 Pytorch 图像处理中注意力机制的解析与代码详解 学习前言 什么是注意力机制 代码下载 注意力机制的实现方式 1 SENet的实现 2 CBAM的实现 3 ECA的实现 注意力机制的应用 学习前言 注意力机制是一
  • 第2课:Scratch介绍

    什么是Scratch Scratch 一款免费的图形化少儿编程工具 由麻省理工学院设计开发 它是完全免费的 它将一大片代码变成一个个功能模块 界面非常清晰 小朋友可以像搭积木一样做出自己的游戏程序 对于低年级的小朋友很容易上手 而且很容易培
  • 使用k8s业务在十几分钟无人使用时,访问报错问题

    业务放入k8s测试中发现当十几分钟没有访问 再次访问时就会报错 刷新后业务正常 一直访问故障不复现 通过整体测试发现Redis自动断开连接 redis在使用net网络模式时会出现自动断开问题 升级Redis版本后解决
  • 傅里叶变换,高通,低通滤波

    傅里叶变换 傅里叶变换的作用 高频 变化剧烈的灰度分量 例如边界 低频 变化缓慢的灰度变量 例如一片大海 滤波 低通滤波器只保留低频 会使头像模糊 高通滤波器只保留高频 会使图像细节增强 opencv主要就是cv2 dft 和cv2 idf
  • 机械臂机器人——使用Matlab Robotic ToolBox建立四轴机械臂模型并实现运动控制仿真

    文章目录 四轴机械臂实物 Robotic ToolBox机械臂建模 1 建立机械臂的D H表 建立机械臂坐标系 根据坐标系建立D H表 2 代码建模 机械臂运动学仿真 1 正运动学仿真 2 逆运动学仿真 为了能够实现机械臂的运动轨迹规划 同
  • Github Page 个人主页——自定义域名

    1 前言 看本文前请确认已部署好基础的静态网页 参考上篇文章 Github Page 个人主页 项目部署 部署好的个人网页若使用 username github io 访问 会让别人很难记住 这时就可以使用自定义域名来绑定仓库了 本文将介绍
  • Centos 安装 Kafka 后台启动 教程

    安装 官网 http kafka apache org downloads 1 下载 Python wget http mirrors tuna tsinghua edu cn apache kafka 0 11 0 0 kafka 2 1
  • html自动图片尺寸,关于html:CSS背景图像适合宽度,高度应按比例自动缩放

    我有 body background url images background svg 期望的效果是该背景图像的宽度等于页面的宽度 高度变化以保持比例 例如 如果原始图像恰好是100 200 任何单位 且正文宽度为600px 则背景图像最
  • 2021-11-02 B1026 简单的时间转换显示和将小数四舍五入

    B1026 简单的时间转换显示和将小数四舍五入 原题 1026 程序运行时间 15 分 要获得一个 C 语言程序的运行时间 常用的方法是调用头文件 time h 其中提供了 clock 函数 可以捕捉从程序开始运行到 clock 被调用时所
  • java没有报错,但编译失败。

    这段代码总是编译失败 但是idea没有报错 这东西是抽象类 解决办法 jdk版本问题 虽然都是1 8 换成了333就没问题了 个人经验 换成版本高的试试
  • C++: 'identifier': identifier not found [Compiler Error C3861]

    问题 模板类继承模板类时 子类无法直接访问父类成员 会报如下错误 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C3861 insertAsLast 找不到标识符 DSA D Code DSA DSA Queue h 8 环境 V