访问类中结构的成员

2023-12-29

我有一个 .hpp 和 .cpp 文件。我想访问类中结构中的变量,该变量恰好位于 .cpp 文件的头文件 .hpp 中。

在.hpp中,我有

class foo{

public:
       struct packet{
         int x;
         u_int y;
      };

};

 foo(const char*name)
:m_name(name){}

在 .cpp 中我做了:

foo *foo_1 = &foo;
printf("The value of x is : %d",foo_1->packet.x);
printf ("The value of y is : %u", foo_1->packet.y);

执行此操作时,我收到以下错误:

code_1.cpp:117: error: expected primary-expression before ‘;’ token
code_1.cpp:118: error: invalid use of ‘struct foo::packet’
code_1.cpp:119: error: invalid use of ‘struct foo::packet’
make: *** [code_1] Error 1

我的目标是获取 cpp 文件中 x 和 y 的值。任何建议/想法将不胜感激。

Thanks.


你需要一个成员对象类型的foo::packet in class foo.

class foo{

public:
      struct packet{
         int x;
         u_int y;
      };

      packet my_packet;   // <- THIS
};

在你的 .cpp 中,你应该这样做:

foo *foo_1 = &foo;
printf("The value of x is : %d",foo_1->my_packet.x);
printf ("The value of y is : %u", foo_1->my_packet.y);

你必须记住,即使packet在里面foo,它不包含在foo作为成员对象。它只是一个包含在另一个类中的类。对于要使用的类,您必须拥有它的对象(类也可以在没有它的对象的情况下使用,但是,好吧......)。

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

访问类中结构的成员 的相关文章

  • boost::interprocess 准备好迎接黄金时间了吗? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在开发一个由内存映射文件支持的线
  • C++ 有像 Pascal 一样的“with”关键字吗?

    withPascal 中的关键字可用于快速访问记录的字段 有人知道 C 是否有类似的东西吗 前任 我有一个包含许多字段的指针 但我不想这样输入 if pointer gt field1 pointer gt field2 pointer g
  • 如何将 C++ 类包装在基于 C 的 dll 或基于 CLI 的 dll 中?

    我被告知将我用 C 编写的类导入到 dll 中 然后在 c 应用程序中使用该 dll 下列的本指南 https stackoverflow com questions 4555961 how to use a class in dll我创建
  • 在 MVC 类上创建主键字段

    我是 MVC 和 C 新手 我只是偶然发现它并发现它很有趣 我遇到了一个不允许我继续的问题 这是我的代码 using System using System Collections Generic using System Linq usi
  • 此插件导致 Outlook 启动缓慢

    我正在使用 C NET 4 5 开发 Outlook Addin 项目 但部署后 有时 Outlook 会禁用我的插件 并显示此消息 这个插件导致 Outlook 启动缓慢 我不知道我的插件出了什么问题 这只有很少的代码 并且ThisAdd
  • 为什么 LinkedList 通常比 List 慢?

    我开始在我的一些 C 算法中使用一些 LinkedList 而不是列表 希望能够加快速度 然而 我注意到他们只是感觉更慢 像任何优秀的开发人员一样 我认为我应该尽职调查并验证我的感受 所以我决定对一些简单的循环进行基准测试 我认为用一些随机
  • 使用 QSet 作为 Qt 地图容器中的键

    我需要一个映射 其中键是唯一的 并且每个键都是一组或自定义 POD 结构 其中包含 3 个数据项 这些值只是指向对象实例的指针 从阅读Qt 的 QMap 与 QHash 的文档 http qt project org doc qt 4 8
  • 禁用除滚动之外的 DataGridView

    我如何配置 datagridview 以便用户只能在行中移动并使用滚动 而没有其他 如果我禁用网格不允许我使用滚动 将您的 datagridview 设置为只读 这将禁用任何编辑 dataGridView1 ReadOnly true 在你
  • -[MyClassName copyWithZone:] 无法识别的选择器发送到实例

    我的应用程序崩溃了 原因是 MyClassName copyWithZone 无法识别的选择器发送到实例 我有两节课 假设 Class1 和 Class2 Class1 看起来像 Class1 h interface Class1 NSOb
  • 未定义异常变量时通过引用捕获

    捕获异常时 标准指导是按值抛出 按引用捕获 据我了解 这有两个原因 如果由于内存不足异常而引发异常 我们将不会调用可能终止程序的复制构造函数 如果异常是继承层次结构的一部分 我们可能会对异常进行对象切片 如果我们有一个场景 我们没有在 ca
  • initializer_list 和默认构造函数重载决策

    include
  • Windows 程序如何临时更改其时区?

    我写了一个函数来返回time t与给定日期的午夜相对应的值 当给定日期没有午夜时 它返回最早可用的时间 例如 当埃及进入夏令时时 这种情况就可能发生 今年 时间更改于 4 月 29 日晚上午夜生效 因此时钟直接从 23 59 转到 01 0
  • C++ 析构函数:何时释放内存?

    如果我删除一个导致其析构函数被调用的对象 那么内存是在析构函数完成函数中的任何操作之前还是之后被释放 仅当最小派生类子对象被销毁后才会释放内存 所以如果你有 class Base class Derived public Base publ
  • 从存储过程返回 int 值并在 ASP.NET 代码中检查它以验证登录表单

    当我多次尝试但没有得到有效结果时 使此代码运行的真实顺序是什么 SQL存储过程的代码 set ANSI NULLS ON set QUOTED IDENTIFIER ON GO ALTER PROC dbo login proc usern
  • 停止 TcpListener 的正确方法

    我目前正在使用 TcpListener 来处理传入连接 每个连接都有一个线程用于处理通信 然后关闭该单个连接 代码如下 TcpListener listener new TcpListener IPAddress Any Port Syst
  • 向每个收件人发送一封包含不同内容的电子邮件(使用抄送字段)

    在你因为这个问题 毫无意义 和 不可能 而驳回之前 请听我说完 问题 我们在使用我们的系统发送的每封电子邮件中实施跟踪像素 即具有唯一 URL 的可下载 GIF 文件 这有助于我们跟踪电子邮件的打开情况 问题是 当我们抄送一些收件人时 跟踪
  • 如何在Linux上构建GLFW3项目?

    我已经使用 cmake 和 make 编译了 glfw3 和包含的示例 没有出现任何问题 开始编写我的第一个项目 作为 opengl 和 glfw 的新手 并且对 C 和 CMake 没有经验 我正在努力理解示例构建文件 甚至要链接哪些库和
  • 为什么从绑定返回的对象会忽略额外的参数?

    假设我有一个带有两个参数的函数 void f int x int y 我想绑定其中之一 我可以用std bind如下 auto partiallyBoundF std bind f 10 1 partiallyBoundF仅需要一个参数 但
  • Intel 和 AMD 处理器有相同的汇编程序吗?

    C语言被用来编写Unix以实现可移植性 使用不同编译器编译的同一个C语言程序会产生不同的机器指令 为什么 Windows 操作系统能够在两者上运行Intel https en wikipedia org wiki Intel and AMD
  • Visual Studio 2015默认附加库

    当我在 VS 2015 中创建一个空项目时 它会自动将这些库放入 附加依赖项 中 kernel32 lib user32 lib gdi32 lib winspool lib comdlg32 lib advapi32 lib shell3

随机推荐

  • 替换列表中的每个第二个元素

    我得到了一个二维列表 5 80 2 57 5 97 2 78 2 56 6 62 5 34 3 54 6 5 2 58 5 61 5 16 其中我需要将每个第二个元素更改为 0 从第一个元素开始 所以它应该看起来像这样 0 80 0 57
  • NuGet install.ps1 脚本中的 $package 和 $project 参数包含什么?

    我正在为 NuGet 包编写第一个安装 PowerShell 脚本 我正在尝试从以下位置复制文件lib文件夹放入tools另一个 NuGet 包的文件夹 默认的 install ps1 脚本有四个参数 其中两个是 package proje
  • 累积 R 中每个可能组合的值

    假设我有数据test 给定的 dput 其中 list col 说items test lt structure list items list a c b c c d e f c g h ID c 1 1 1 2 2 row names
  • 为每个线程创建一个非线程安全对象并使用happens-before保证

    我想将 SAAJ 中的 SOAPConnectionFactory 和 MessageFactory 类与多个线程一起使用 但事实证明我不能假设它们是线程安全的 一些相关帖子 javax xml soap MessageFactory的实例
  • 如何使用“out”参数测试方法?

    我正在尝试为具有参数的方法编写单元测试 我的方法具体来说是我的自定义对象的 TryParse 方法 我正在使用 NET 4 5 5 和 Visual Studio 2013 这使我能够使用 PrivateType 对象完全实现私有 内部和静
  • Angular 2 教程上的 Meteor JS 路由不起作用

    我正在尝试从meteor js web 制作社交教程 但我陷入了第5 步路由和多视图当我点击链接查看 派对详细信息 时 JavaScript 控制台显示该路线不存在 这是具有链接的视图中的代码 a party name a 这是路线中的代码
  • java:在生产环境中使用 printStackTrace

    我将在生产服务器下部署我们的 Web 应用程序 在生产环境中将 printStackTrace 包含在 catch 块下是否可以接受 因为catch块下的日志无助于了解错误的确切原因 所以请告诉我在 catch 块下使用 printStac
  • 出现 JS 异常:ReferenceError:找不到变量:进程

    从react native 0 26升级到0 29 并运行react native升级 后 我在android调试器中收到以下错误 Got JS Exception ReferenceError Can t find variable pr
  • 技术演示的好技巧[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我计划为我们正在构建的产品进行技术演示 目标受众是技术开发人员 所以 大多数时候 我会通过 Visual Studio 中的代码进行调
  • Visual Studio C++ dll 库在 Qt 应用程序中崩溃

    我在 MS Visual C DLL 库和 Qt 程序之间共享 std string 数据时遇到问题 我拥有的是 用 Visual C 2010 Express 编写的 DLL 库 导出一种方法 extern C declspec dlle
  • rstudio-server 的全新会话

    我正在虚拟化 vmware player ubuntu 机器上运行 rstudio server 并将大量数据处理到 RAM 中 我发现在一段不活动之后 会话会暂停数据 问题是恢复此会话需要很长时间 并且导致主机和虚拟机严重滞后 我只想终止
  • J2EE/EJB + 服务定位器:缓存 EJB Home 查找结果安全吗?

    在 J2EE 应用程序中 我们在 weblogic 中使用 EJB2 为了避免浪费时间构建初始上下文和查找 EJB Home 接口 我正在考虑服务定位器模式 http java sun com blueprints patterns Ser
  • Airflow 1.10.2 不将日志写入 S3

    我正在尝试在 docker 容器中运行气流并将日志发送到 s3 我有以下环境 气流版本 1 10 2 还更新了airflow cfg中的以下内容 logging config class log config LOGGING CONFIG
  • Cuda 不计算它的预期,只是默默地忽略我的代码

    我遇到了一个非常奇怪的问题 Mu 9800 GT 似乎根本不计算 我已经尝试了在互联网上找到的所有 hello worlds 这是其中之一 该程序在主机上创建 1 100 数组 将其发送到设备 计算每个值的平方 将其返回到主机 打印结果 i
  • 在jqgrid中添加行后出现问题

    我使用下面的代码在 jqGrid 中添加行 Updated 我点击复选框查看id s使用下面的代码 document delegate list1 jqgrow td input click function var grid list1
  • 使用模块编译 php 与使用共享模块?

    使用参数编译php有什么区别 with extension name 而不是仅仅将其编译为共享模块并以这种方式包含它 有任何性能优势吗 如果不是 你为什么要这样做 也许内存占用有所不同 如果我错了 请纠正我 但内置模块将在加载到内存中的每个
  • 用于将 unique_ptr 向量初始化为基本类型的可变参数构造

    下面是一个示例程序 其中 Container 类需要通过基类指针存储 Items 列表 从 C 11 14 开始 自然的选择是在我的情况下使用 std unique ptr 和可变参数模板 然而 作为新手 我无法理解如何以编译的方式将可变参
  • 防止 UINavigationBar popViewController 动画

    我有以下问题 我已覆盖popViewControllerAnimated BOOL animated of UINavigationController因为我想要一个自定义动画 代码如下 UIViewController popViewCo
  • 如何在 Android 上以编程方式自动接听来电

    我试图在检测到应用程序上的来电后自动接听来电 我的应用程序已经检测到我何时有来电 但仍然不接听电话 我正在使用 telephonyManager 并且我有红色本教程使用 android telecom 和 InCallService 接听来
  • 访问类中结构的成员

    我有一个 hpp 和 cpp 文件 我想访问类中结构中的变量 该变量恰好位于 cpp 文件的头文件 hpp 中 在 hpp中 我有 class foo public struct packet int x u int y foo const