当前位置: 首页 > article >正文

C++中如何引用别的文件中定义的结构体数组变量

在C++ 中,要在一个cpp文件中引用另一个cpp文件中定义的结构体数组变量,可以通过以下步骤实现:

1. 声明结构体

首先,在两个cpp文件都能访问到的头文件中定义结构体。例如,创建一个struct_def.h文件:

// struct_def.h
#ifndef STRUCT_DEF_H
#define STRUCT_DEF_H
struct MyStruct {
    int value;
};
#endif

2. 定义结构体数组变量

在一个cpp文件中定义结构体数组变量。例如,在source1.cpp中:

​
// source1.cpp #include "struct_def.h" 
// 定义结构体数组变量 
MyStruct myArray[3] = { {10}, {20}, {30} };  

​

3. 引用结构体数组变量

在另一个cpp文件中,通过extern关键字声明要引用的结构体数组变量。例如,在 source2.cpp中:

​
// source2.cpp 
#include <iostream> 
#include "struct_def.h" 
// 声明外部结构体数组变量 
extern MyStruct myArray[]; 
int main() 
{ 
    for (int i = 0; i < 3; ++i) 
    { 
        std::cout << myArray[i].value << " "; 
    } 
    std::cout << std::endl; 
    return 0; 
}

​

问题的关键是:两个cpp文件都能访问到的头文件中定义结构体,两个cpp文件都能访问该结构体,这样就不会报“表达式必须具有指向对象的指针类型”错误了。


http://www.kler.cn/a/457721.html

相关文章:

  • 《计算机网络A》单选题-复习题库
  • leetcode题目(3)
  • openbmc sdk09.03 适配(一)
  • overleaf写学术论文常用语法+注意事项+审阅修订
  • kubernetes学习-kubectl命令、探针(二)
  • 2025年第五届控制理论与应用国际会议 | Ei Scopus双检索
  • 如何做一份出色的PPT?
  • 餐饮收户人另类增长点
  • 2025年创业投资前瞻:AI、可持续发展与基础设施建设的深度整合
  • 被邀请出版Cursor教程书籍是什么体验?
  • 19.springcloud_openfeign之案例
  • JVM实战—4.JVM垃圾回收器的原理和调优
  • 【C++——内存四区、存储类别】
  • Spring系列精选面试题
  • Modbus
  • linux-软硬链接
  • 【DC简介--Part1】
  • 基于Python语言的网络漏洞扫描系统的设计与实现
  • 细说STM32F407单片机通过IIC读写EEPROM 24C02
  • 【Compose multiplatform教程20】在应用程序中使用多平台资源
  • 【Spring MVC 数据绑定与验证】优雅处理请求数据
  • Spring Boot中幂等性的应用
  • 现货量化合约跟单系统开发策略指南
  • Python流行orm框架对比
  • Effective C++ 条款 23:宁以 non-member、non-friend 替换 member 函数
  • 贝叶斯神经网络(Bayesian Neural Network)