名称查找和类范围

2023-11-30

为什么setVal的返回类型是string类型,参数类型是double类型

typedef string Type;
Type initVal(); 
class Exercise {
public:
    typedef double Type;
    Type setVal(Type); 
    Type initVal(); 
private:
    int val;
};

Type Exercise::setVal(Type parm) {  
    val = parm + initVal();    
    return val;
}

当在命名空间作用域中定义成员函数时,C++ 为非限定名称提供特殊的名称查找规则,follow函数的声明符 ID(3.4.1/8)。此类名称先在类范围中查找,然后再在命名空间范围中查找。

由于“普通”成员函数定义中的返回类型precedes功能声明符 ID,则不适用前述特殊规则。它是按照“通常”规则查找的:在命名空间范围内。

因此,您的函数定义的返回类型指的是::Type,不Exercise::Type。它与类内所做的任何声明都不匹配。该代码格式不正确。

如果您还希望在类作用域中查找非限定返回类型名称,请使用新的尾随返回类型函数声明中的语法,因为在此语法中返回类型follows功能声明符 ID

auto Exercise::setVal(Type parm) -> Type {  
    val = parm + initVal();    
    return val;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

名称查找和类范围 的相关文章

  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • onclick 事件中未调用函数

    我想在每个 YouTube 链接的末尾添加一些 HTML 以在 litebox 中打开播放器 到目前为止 这是我的代码 document ready function var valid url new RegExp youtube com
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern

随机推荐

  • 空格上仅支持 JavaScript 的自动换行功能?

    我发现的大多数自动换行功能都绑定到 css 和 或浏览器 dom 我正在 javascript 环境 rhino 中工作 需要找到或设计一个更好的自动换行 该换行可以在给定行长度值之前的空白处中断 我当前的解决方案只是搜索给定字符之前的最后
  • C++ 中如何进行柯里化?

    什么是柯里化 C 中如何进行柯里化 请解释一下STL容器中的活页夹 1 什么是柯里化 柯里化只是意味着将多个参数的函数转换为单个参数的函数 使用一个例子可以很容易地说明这一点 取一个函数f它接受三个参数 int f int a std st
  • 解决 pex 内部类

    当被测试的类是内部类时 有什么方法可以让 pex 工作吗 密封课程怎么样 我的意思是 毕竟这种类型的工具非常适合 API 测试 有时您可能希望至少将内容保留在内部 Thanks 通过以下方式为测试组件提供内部可见性InternalsVisi
  • 有没有办法模糊匹配或提供分数作为行值应与哪个 ID 或组关联的假设?

    我有一个看起来像这样的数据集 structure list ID c 1 2 3 4 5 6 7 8 9 10 Date c 2020 01 n04 2020 04 03 2020 12 10 2020 09 12 2020 11 19 2
  • 在运行时修改函数(拉出局部变量)

    想象一下这个简单的函数创建变量的修改值default modified default 0 def modify modified default 1 print modified replace with OS call I can t
  • 从单词列表中提取所有匹配的关键字并创建一个新的数据框 pandas [重复]

    这个问题在这里已经有答案了 我想从意见列中提取所有匹配的关键字 如果它们与关键字列表中的单词匹配 则在新列中打印所有匹配的单词 包括重复的单词 当前代码仅提取第一个匹配的单词 不包含重复的单词 import pandas as pd df
  • 作为 Maven 构建过程的一部分运行量角器测试

    我有一个 Maven 项目 我不想更改 POM 以便当我构建项目 Clean Install 时 在编译部分之后 将启动一组量角器测试 打开 selenium 并做几件事 并且仅如果测试通过 则构建本身也通过 我似乎找不到能为我提供这种功能
  • R 计算 for 循环中的平均值

    我有我的代码 V max 10 V min 0 n 1 H 1 C c 0 0 01 0 1 1 par mfrow c length C 1 1 mar c 2 0 2 0 oma c 1 5 0 0 V lt function C H
  • 桌面 DLL 中的 Prism PopupChildWindowAction 缺失

    我正在尝试在 WPF Prism 桌面应用程序中实现模式对话框 从 Prism 指导中我可以看到正确的方法应该是使用交互
  • Xamarin Forms - 在运行时翻译抽屉菜单项

    我正在遵循优秀的教程 Link 关于 Xamarin Forms 中的多语言 一切正常 但我有一个问题 在我的应用程序中 我使用 Syncfusion 的导航抽屉 因为我在 ListView 中生成菜单项 如下所示 DrawerPage x
  • 批处理脚本未按预期分配变量

    我正在编写一个批处理脚本 它将分配一个变量字符串 然后修剪它 我面临两个问题 变量分配不正确 它从变量文件中获取最后一个值 我第一次运行脚本时未分配变量 我需要第二次运行脚本以查看变量是否已分配 在第三次运行时 我可以看到修剪正在起作用 我
  • 将数据帧中的字符转换为时间戳

    我在数据框中有一个被识别为字符类的时间戳 由于某种原因 我无法将其转换为 poxis 时间戳 这是数据示例 ID dateTime stage 1 2016 11 01T00 00 00 000Z 4 82 2 2016 11 01T00
  • 如何使 Text::slug() 正确转换德语变音符号?

    我正在使用 CakePHP 3 6 当我使用带有德语变音符号的单词时 例如 Text slug Grundst cke 我会得到 Grundstucke 其中 u 但这是不正确的 我应该得到 Grundstuecke 其中 ue 是否有一个
  • 将整数数组传递给 ASP.NET Web API?

    我有一个 ASP NET Web API 版本 4 REST 服务 我需要在其中传递一个整数数组 这是我的操作方法 public IEnumerable
  • 多个 Mat Paginator 无法在 Angular 组件中工作

    我有三个不同的 div Post Todo User 根据用户选择我显示不同的表格 例如 默认情况下Post部分加载表100 records 如果用户选择Todo部分 表格应显示Todo记录等带有分页 I ve three datasour
  • R tableGrob 更改行的格式

    我有一些相对简单的代码来创建用于打印到 PDF 的表格 library gridExtra df lt head iris tableGrob df gp gpar fontsize 8 rows NULL 我想让最后一行的格式与标题行相同
  • 使用 Windows 批处理文件的单行多个命令

    我尝试了解批处理文件中单个命令行中的多个命令如何工作 dir md folder1 rename folder1 mainfolder 和其他具有类似命令的情况 但是 替换为 dir md folder1 rename folder1 ma
  • 为什么 Microsoft Azure(或一般的 Swift)无法更新变量以在表查询后返回?

    我一直在关注微软Azure文档成功查询表 将项目插入 读取和更新到数据库中工作正常 但在一个简单的方法结束时 立即关闭文档 func getAllEventIDs gt String var events String this is to
  • 基于 Django 类的 UpdateView 以及用于多个上传文件的表单

    针对我目前面临的问题 我有两个问题 django 中的最佳实践是覆盖 CreateView 中的 post 方法吗 如果不是 您是否在 CategoryFullForm 或 CreateView 中编写 form valid 函数 它会是什
  • 名称查找和类范围

    为什么setVal的返回类型是string类型 参数类型是double类型 typedef string Type Type initVal class Exercise public typedef double Type Type se