名称隐藏在构造函数初始化列表中

2024-01-11

我想修改构造函数以使用初始化列表,如下例所示:

class Foo
{
public:
   Foo(std::wstring bar);
private:
   std::wstring bar;
};

// VERSION 1:

Foo::Foo(std::wstring bar) {this->bar = bar}

// VERSION 2:

Foo::Foo(std::wstring bar) : this->bar(bar) {} // ERROR!

不幸的是我不能做版本2,因为你不能使用this数据成员的指针,因为(我猜)它们当时还不存在。那么,我该如何处理名称隐藏问题(即我的参数和我的数据成员具有相同的名称)?


你不需要。首先bar将参考该成员和第二个bar将参考参数:

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

名称隐藏在构造函数初始化列表中 的相关文章

随机推荐

  • 在 Linux 上将 MSword 转换为 XML/HTML

    我需要将 MSWord 文件转换为 XML 或 HTML 同时保留文件的结构 主要是表格 我偶然发现了tika 它在从MSword文件 和任何文件 中提取文本方面非常强大 如下 curl www vit org downloads doc
  • TFS 2017 不构建 Fakes 目标

    我有一个安装了 VS 2017 Enterprise 的 TFS 2017 Update 2 本地服务器 我们的构建包含一个单元测试项目 其中包含一个 Fakes 程序集并在开发计算机上本地工作 在 TFS 上构建时 构建失败并显示 命名空
  • 动态插入 iframe 中的 jQuery .ready

    我们正在使用 jQuerythickbox http jquery com demo thickbox 当有人点击图片时动态显示 iframe 在此 iframe 中 我们使用galleria http devkick com lab ga
  • 更改总计和tax_total Woocommerce

    我使用自定义计算创建自定义结帐页面 我如何无法通过 Ajax 更改总计和tax total 或根据需要刷新页面 我为 ajax 请求创建自定义页面并设置此代码 ss new WC Session Handler ss gt set tax
  • 在 Hibernate 中使用惰性属性

    hibernate 中属性标签的惰性属性允许按照链接延迟加载属性 http docs jboss org hibernate orm 3 3 reference en US html mapping html mapping declara
  • 在 git 命令中的开关之前放置 - 和 -​- [重复]

    这个问题在这里已经有答案了 为什么我们把 在 git 中进行一些切换之前 在其他人之前 有没有任何经验法则可以帮助您记住使用哪一个 这实际上是一个通用的类 Unix 系统功能 在 GNU 应用程序中变得很常见 单破折号选项是 短 选项 双破
  • 使用 lapply 根据旧列创建新列

    我的数据如下 DF lt structure list No Adjusted Gross Income c 183454 241199 249506 NoR from 1 to 5000 c 1035373 4272260 1124098
  • 在 VS 2005 中增量构建

    我们在 VS 2005 中有 50 个项目的解决方案 如果没有任何改变 有什么方法可以进行增量构建吗 它有点像现在就这样做 但它执行每个项目的所有预构建和构建后事件 有什么办法可以预防吗 看看构建活动标签 请注意底部的下拉菜单 上面写着运行
  • 如何为 TEX 创建解析器?

    我正在寻求开发一个 TEX 解析器 现在的问题是没有上下文无关语法 也不可能有 因为它不是上下文无关语言 我听说它是 某种宏语言并且是建立在自己的基础上的 所以现在我需要指导这种宏语言具有什么样的语法以及如何在 C 中构建任何内容 我将编写
  • Spring Webflux 不明时间损失

    我们最近切换到 ExpediaGroups GraphQLlibrary https github com ExpediaGroup graphql kotlin它基于 Spring Webflux Since switching our
  • ics 文件 mime 类型

    我正在尝试将 ics 文件上传到我的网站 它是从 Mac OSX 上的 iCal 导出的 我认为 ics 文件的 mime 类型为text calendar 但由于某种原因 该文件的类型似乎是Application octet stream
  • 实体框架延迟加载的私有支持字段

    我正在使用启用了延迟加载的 Entity Framework 5 我有以下代码 private ICollection
  • 本地时区 鲁比

    需要创建一个 Rails 应用程序 我想在其中获取本地时区的时间 即如果位置是Delhi时区应该是IST如果位置是旧金山时区应该是PDT 如何在 ruby on Rails 中实现这一点 附 一行代码 可以根据位置自动设置时区 尝试这个Ti
  • 可变参数模板的链接器错误

    我有一个带有可变参数模板和辅助函数的程序 include
  • comctl32.msm(合并模块)在 Vista 上失败

    我将 comctl32 msm 卡在安装程序中 comctl32 ocx 合并模块 在 XP 上 comctl32 ocx 出现在 system32 中 一切都很顺利 在vista上 它不起作用 你猜我做错了什么吗 我还尝试用以下内容替换合
  • .click() 和实际单击按钮之间的区别? (JavaScript/jQuery)

    我试图找出我一直遇到的这个奇怪的问题 根本原因是实时点击和触发之间的区别 click 我不会详细讨论问题的细节 但基本上当您单击输入按钮时它工作正常 有一个onclick事件 但如果我打电话 click 从其他地方 而不是物理单击按钮 它无
  • 错误:重载的“operator<<”必须是二元运算符(有 3 个参数)

    我知道有很多类似的问题 但我找不到适合我的解决方案 我正在尝试制作简单的分数计算器 可以添加或减去任意数量的函数并将答案写为约简分数 示例 输入 3 2 4 8 输出 2 我正在尝试重载运算符来完成此任务 因此 在我尝试开发的程序中 输入由
  • StructureMap 注入数据上下文时出现间歇性“指定的转换无效”

    我间歇性地收到System InvalidCastException Specified cast is not valid 执行抽象时我的存储库层出现错误SELECT使用 LINQ 映射的查询 该错误不可能是由不匹配的数据库架构引起的 因
  • 如何在jsPDF中使用addHTML函数

    您能让我知道如何在 jsPDF 库中使用 addHTML 函数吗 我正在尝试将网页转换为 pdf 想要使用 addHTML 功能 让我知道需要传递哪些参数才能将整个网页转换为带有标题 徽标 正文等的 pdf 首先 你必须包括jsPDF ht
  • 名称隐藏在构造函数初始化列表中

    我想修改构造函数以使用初始化列表 如下例所示 class Foo public Foo std wstring bar private std wstring bar VERSION 1 Foo Foo std wstring bar th