wangbylove 2021-01-14 11:03 采纳率: 0%
浏览 132

结构体声明后跨文件使用

在a.h中声明

typedef struct a
{
    int a;
}A;

extern A m_a;

void test_a(A *m);

在b.h中

#include "a.h"

typedef struct b
{
    int b;
    A *m_addr;
}B;

void test_b( A m_b_a;)

在b.c 和 b.h 中均不能使用A中的结构体定义新变量,只能使用a.h中已经声明的结构体变量m_a。

如何在b.h中也使用结构体A声明新的变量呢?

  • 写回答

1条回答 默认 最新

  • include_iostream_ 2021-01-14 12:14
    关注

    我复制的代码显示你的结构体A,编译器报错显示非法字符(复制来的大括号是中文字符,而不是英文半角)。但从你的描述来看,可能不是原代码有这个问题,而是排版后产生了错误字符。修正该错误后我这里没有任何报错,你能把编译日志发上来吗?

    (99.999%以上的情况下,编译日志报告的错误远比源代码本身更能说明构建错误问题。)

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考