C++ 如何将“this”传递给指针引用

2024-04-22

我有一个主类,我喜欢将其指针引用传递给我创建的对象,但它给了我错误:

错误 1 ​​错误 C2664: 'GameController::GameController(GameLayer *&)' : 无法将参数 1 从“GameLayer *const”转换为“GameLayer *&”

我在 GameLayer 中拥有什么(主要对象)

m_pGameController = new GameController(this);

在 GameController 中我有这个构造函数

GameController(GameLayer*& GameLayer)
{
 setGameLayer(gameLayer); // to GameLayer memeber ) 
}

原因是我需要能够从游戏控制器(GUI 东西)修改 GameLayer 中的数据


首先,类型this可能GameLayer * const or const GameLayer * const取决于成员函数是否是const或不。但是,它是一个const指针。

话虽如此,对指针的引用type *&ref表示您将修改指针,即它所指向的对象。

“因为这个指针是一个常量指针,所以你不能将其分配给非常量指针(GameLayer * p)”参考文献的上下文.

在引用指针的情况下,您不能分配给将修改值的引用this。您不能将其分配给对non-const指针(GameLayer *&p),但您可以分配对 a 的引用const指针即GameLayer *const &p.

因此,将构造函数更改为GameController(GameLayer * const & gameLayer)应该管用。
但目前我在这里看不到它有任何用处。

如果您是从const那么成员函数this有类型const *const所以你必须将其更改为GameController(const GameLayer * const & gameLayer).

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

C++ 如何将“this”传递给指针引用 的相关文章

  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • C# 使用“?” if else 语句设置值这叫什么

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

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 搜索事件的 Jquery 选择器

    我需要选择所有已绑定 单击 事件的元素 是否存在这样的选择器 jQuery 本身不支持它 但您可以使用编写自己的自定义选择器有事件插件 http plugins jquery com project hasevent jQuery expr
  • 当 Java 中的集合超出容量时会发生什么?

    我有一个服务 它将所有对其进行的调用暂存在内存中 因为我们不想丢失数据 同时我们需要该服务因任何外部依赖项 例如数据库 而失败 然后 这些分阶段的调用会在后台例行接收和处理 如果出于任何原因 如果调用太多并且内存不足 我们就需要警惕 所以
  • 如何将孤立分支“按原样”附加到 master?

    搬迁使用过程中git我们采用了解决方案的生产版本并将其作为master 然后我们拿了一个开发版本并做了一个孤儿分支 called develop 背景 为什么我们在这里有点纠结是因为从开发版本到生产版本并没有干净的演变 此外 组装所涉及的解
  • 从 cURL 发布:HTTP_X_REQUESTED_WITH

    我正在以编程方式将表单发布到 PHP 表单处理脚本 有没有办法让我的表单处理脚本认为该帖子是由ajax 完成的 表单处理程序当前检查 SERVER 中的 HTTP X REQUESTED WITH 以实现特殊的仅限 ajax 的逻辑 当我使
  • 重新启动 Android MediaRecorder 时出现 IllegalStateException [在无效状态下调用启动:1]

    我正在尝试实现简单的逻辑来开始 停止录制MediaRecorder安卓的 周期为 连接到 localSocket 设置选项 mRecorder prepare mRecorder start mRecorder stop mRecorder
  • Android Studio 3.1:代理配置:无法为git操作设置https用户密码

    我最近将 Android Studio 从 3 0 升级到了 3 1 在3 0中 我曾经在中设置代理配置gradle properties 全局属性 文件 其中包括设置systemProp https proxyPassword除其他外 但
  • 更改 SOLR 默认连接

    我正在使用嵌入 SOLR 的应用程序 SOLR 在 Tomcat 的 webapp 区域中像一场战争一样运行 是否有 SOLR 配置允许我切换搜索的默认 SOLR 行为以假定 AND 而不是 OR 作为连接运算符 在您的模式文件中添加 或修
  • /var/run/docker.sock:在 Python CGI 脚本中运行 docker 时权限被拒绝

    我正在尝试运行 Python CGI 脚本 在其中需要运行 docker 镜像 我使用的是 Docker 版本 1 6 2 用户是 www data 添加到docker组中 www data www data sudo docker 在机器
  • 模型响应包含 swagger 中不同对象类型的数组

    我想建模一个响应对象 其中包含 swagger 中不同类型对象的数组 如下所示 table user customer employee 我尝试了下面的解决方案 但它将所有属性包装在单个对象 user customer 中 response
  • 使用 SSE/AVX 获取 __m256d 中存储的值的总和

    有没有办法获得存储在 m256d 变量中的值的总和 我有这个代码 acc mm256 add pd acc mm256 mul pd row vec acc in this point contains 2 0 8 0 18 0 32 0
  • Rvest XML 网络抓取

    我是一个初学者 我在抓取方面遇到了问题 我需要获取有关一些客户的活动 非活动 VEIS 号码的数据 目前 我只尝试一个 在网站上 我必须 设置值并发送表单 然后浏览器重定向到下一页 我可以在其中找到有趣的日期 下面我发送了我的代码 也许有人
  • Excel动态图表标题(前n个)

    是否可以创建包含 前 n 的动态 Excel 数据透视图标题 其中 n 用户选择的值过滤器行限制 我知道图表标题可以设置为单元格的内容 但不确定如何确定用户选择的前 n 个限制或如何将其添加到单元格公式中 如果可能的话 我们将不胜感激任何帮
  • 如何评估kafka流应用程序的消耗时间

    我有 1 0 0 kafka 流应用程序 有两个类 如下所示 class FilterByPolicyStreamsApp 和 class FilterByPolicyTransformerSupplier 在我的应用程序中 我读取事件 执
  • Django 模型:设置相对于另一个字段的默认值

    我正在使用 Django 1 10 作为后端构建一个应用程序 是否可以设置模型字段相对于同一实例中另一个模型的默认值 我特别需要设置second visit s默认为 3 周后first visit class SomeModel mode
  • 映射列类型 Slick 3.1.1

    我是 Slick 的新手 很难将 java sql date time timestamp 映射到 jodatime trait ColumnTypeMappings val profile JdbcProfile import profi
  • 如何将索引从一个索引节点移动到 couchbase 中的另一个索引节点

    我在 couchbase 集群中有 6 个索引节点 我想替换一次索引节点并将索引从旧索引节点移动到新索引节点 将索引从一个节点移动到另一个节点的最佳实践是什么 在 Couchbase 5 5 中 您可以使用 ALTER INDEX 语句将索
  • WooCommerce 根据用户角色更改 BACS 订单状态

    我收到几个订单 其中客户选择 直接银行转账 然后他们改变主意并希望通过信用卡付款 这非常烦人 因为我必须手动将订单从 暂停 更改为 待付款 以便他们可以通过 订单 下 我的帐户 中的 订单支付 端点通过卡付款 我一直在使用WooCommer
  • 错误:命令失败,rc=65536 python 和 mod_wsgi

    我遇到这个问题 我正在运行 pythonbrew 来获取 python2 7 因此我重新编译了 mod wsgi 以使用 2 7 python 为此 我遵循了本教程 code google com p modwsgi wiki QuickI
  • python 中的跨平台代码

    如何在 python 中编写一些 Windows 代码 仅当我在 widnows 中运行脚本时才执行 如果我应该在 linux 中运行它 则应该忽略这部分 windows 代码 与此类似 在 C 中 ifdef windows code e
  • C++ 如何将“this”传递给指针引用

    我有一个主类 我喜欢将其指针引用传递给我创建的对象 但它给了我错误 错误 1 错误 C2664 GameController GameController GameLayer 无法将参数 1 从 GameLayer const 转换为 Ga