”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 为什么在一行上声明多个对象指针会导致 C++ 中的编译器错误?

为什么在一行上声明多个对象指针会导致 C++ 中的编译器错误?

发布于2024-11-09
浏览:855

Why Does Declaring Multiple Object Pointers on a Single Line Lead to Compiler Errors in C  ?

在一行上声明多个对象指针:解决编译器错误

在同一行上声明多个对象指针时,开发人员经常遇到一个常见问题,可能会导致编译器错误。了解此问题的根本原因对于确保正确执行代码至关重要。

考虑以下类声明:

public:
    Entity()
    {
        re_sprite_eyes = new sf::Sprite();
        re_sprite_hair = new sf::Sprite();
        re_sprite_body = new sf::Sprite();
    }

private:
    sf::Sprite* re_sprite_hair;
    sf::Sprite* re_sprite_body;
    sf::Sprite* re_sprite_eyes;

在这种情况下,单独声明每个指针可确保正确的功能。但是,当尝试将声明压缩为一行时:

private:
    sf::Sprite* re_sprite_hair, re_sprite_body, re_sprite_eyes;

编译器抛出错误:

error: no match for 'operator=' in '((Entity*)this)->Entity::re_sprite_eyes = (operator new(272u), (<statement>, ((sf::Sprite*)<anonymous>)))

理解此错误的关键在于星号 (*) 运算符的用途。在 C 中,星号可以指示指针或取消引用操作。在本例中,星号应指示指向 sf::Sprite 对象的指针。然而,上面的声明错误地将星号解释为应用于 re_sprite_body 和 re_sprite_eyes,创建对象而不是指针。

要解决此问题,正确的语法是:

sf::Sprite *re_sprite_hair, *re_sprite_body, *re_sprite_eyes;

有了这个澄清,每个指针都被正确声明,解决编译器错误并确保预期的功能。

最新教程 更多>
  • 如何从PHP中的数组中提取随机元素?
    如何从PHP中的数组中提取随机元素?
    从阵列中的随机选择,可以轻松从数组中获取随机项目。考虑以下数组:; 从此数组中检索一个随机项目,利用array_rand( array_rand()函数从数组返回一个随机键。通过将$项目数组索引使用此键,我们可以从数组中访问一个随机元素。这种方法为选择随机项目提供了一种直接且可靠的方法。
    编程 发布于2025-03-22
  • 为什么使用固定定位时,为什么具有100%网格板柱的网格超越身体?
    为什么使用固定定位时,为什么具有100%网格板柱的网格超越身体?
    网格超过身体,用100%grid-template-columns 为什么在grid-template-colms中具有100%的显示器,当位置设置为设置的位置时,grid-template-colly修复了?问题: 考虑以下CSS和html: class =“ snippet-code”> g...
    编程 发布于2025-03-22
  • 如何使用Depimal.parse()中的指数表示法中的数字?
    如何使用Depimal.parse()中的指数表示法中的数字?
    在尝试使用Decimal.parse(“ 1.2345e-02”中的指数符号表示法表示的字符串时,您可能会遇到错误。这是因为默认解析方法无法识别指数符号。 成功解析这样的字符串,您需要明确指定它代表浮点数。您可以使用numbersTyles.Float样式进行此操作,如下所示:[&& && && ...
    编程 发布于2025-03-22
  • 如何使用替换指令在GO MOD中解析模块路径差异?
    如何使用替换指令在GO MOD中解析模块路径差异?
    在使用GO MOD时,在GO MOD 中克服模块路径差异时,可能会遇到冲突,其中3个Party Package将另一个PAXPANCE带有导入式套件之间的另一个软件包,并在导入式套件之间导入另一个软件包。如回声消息所证明的那样: go.etcd.io/bbolt [&&&&&&&&&&&&&&&&...
    编程 发布于2025-03-22
  • 哪种方法更有效地用于点 - 填点检测:射线跟踪或matplotlib \的路径contains_points?
    哪种方法更有效地用于点 - 填点检测:射线跟踪或matplotlib \的路径contains_points?
    在Python Matplotlib's path.contains_points FunctionMatplotlib's path.contains_points function employs a path object to represent the polygon.它...
    编程 发布于2025-03-22
  • 您什么时候应该使用python命名的元组?
    您什么时候应该使用python命名的元组?
    在python 命名命名命名型单元类型是可轻松的方法)是提供相关数据相关的轻度对象。与常规元素不同,命名元素命名为属性,允许直观对象样引用。何时使用命名型元组何时使用命名的元素,何时何时使用: readisoind your py py py news new nature tation。 to ...
    编程 发布于2025-03-22
  • 如何在GO中初始化嵌入式结构:两次诉讼指南
    如何在GO中初始化嵌入式结构:两次诉讼指南
    在GO String } 来访问并设置嵌入式http.request struct。另外,我们还可以使用以下种句使用以下种句来初始化嵌入式struct: 在这里,我们创建了一个带有必需字段的匿名结构。重要的是要以“&”的形式将嵌入式结构名称前缀以适当的初始化很重要。这会导致具有所需值的myRe...
    编程 发布于2025-03-22
  • 如何在Java字符串中有效替换多个子字符串?
    如何在Java字符串中有效替换多个子字符串?
    在java 中有效地替换多个substring,需要在需要替换一个字符串中的多个substring的情况下,很容易求助于重复应用字符串的刺激力量。 However, this can be inefficient for large strings or when working with nu...
    编程 发布于2025-03-22
  • 如何在没有插件的情况下执行jQuery ajax文件上传?
    如何在没有插件的情况下执行jQuery ajax文件上传?
    jQuery Ajax File Upload Without Using a PluginFile upload using jQuery's AJAX requires the use of XHR2, supported by modern browsers. If you want ...
    编程 发布于2025-03-22
  • 我可以使用哪些技术合并关联数组并添加具有默认值的缺失列?
    我可以使用哪些技术合并关联数组并添加具有默认值的缺失列?
    合并关联数组,并将缺少的列与默认值Method 1: Using array_merge and RecursiveIterationIterator$a = array('a' => 'some value', 'b' => 'some v...
    编程 发布于2025-03-22
  • 如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    postgresql:为每个唯一标识符在postgresql中提取最后一行,您可能需要遇到与数据集合中每个不同标识的信息相关的信息。考虑以下数据:[ 1 2014-02-01 kjkj 在数据集中的每个唯一ID中检索最后一行的信息,您可以在操作员上使用Postgres的有效效率: id dat...
    编程 发布于2025-03-22
  • 如何使用数组中的PHP表单中的多个复选框选择?
    如何使用数组中的PHP表单中的多个复选框选择?
    的PHP数组很少,该php数组很少,很少,的php free是包含多个复选框的PHP表单时,对于以后的处理中存储所选值是必不可少的。了解适当的方法将使您能够有效地实现此目标。问题和解决方案在数组中存储多个复选框值的需求是PHP表单中常见的。 A basic form with checkbox o...
    编程 发布于2025-03-22
  • 如何从Python中的字符串中删除表情符号:固定常见错误的初学者指南?
    如何从Python中的字符串中删除表情符号:固定常见错误的初学者指南?
    从python import codecs import codecs import codecs 导入 text = codecs.decode('这狗\ u0001f602'.encode('utf-8'),'utf-8') 印刷(文字)#带有...
    编程 发布于2025-03-22
  • 如何在Pygame Platformer游戏中实现光滑的滚动?
    如何在Pygame Platformer游戏中实现光滑的滚动?
    在平台游戏中,将滚动添加到pygame 在平台游戏中的平台游戏中,播放器在屏幕上的位置保持在屏幕上时,播放器浏览级别。 This effect is achieved through scrolling, which allows the game world to move independen...
    编程 发布于2025-03-22
  • PHP阵列键值异常:了解07和08的好奇情况
    PHP阵列键值异常:了解07和08的好奇情况
    PHP数组键值问题,使用07&08 在给定数月的数组中,键值07和08呈现令人困惑的行为时,就会出现一个不寻常的问题。运行print_r($月份)返回意外结果:键“ 07”丢失,而键“ 08”分配给了9月的值。此问题源于PHP对领先零的解释。当一个数字带有0(例如07或08)的前缀时,PHP将...
    编程 发布于2025-03-22

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3