首页 > 解决方案 > C文件看不到#include'd头文件中定义的变量

问题描述

a.h我有

#ifndef A_H
#define A_H 1

const int global_val = 10;

#endif

a.c我有

#include "a.h"

int someFunc() {
    return global_val;
}

但是编译器(gcc)error: 'global_int' undeclared在编译a.c. 当我包含头文件时,它怎么可能未声明?

标签: cglobal-variablesheader-files

解决方案


你应该有两个文件。

  #ifndef A_H
  #define A_H 1

  extern const int global_val;

  #endif

交流电

  #include "A.h"


  const int global_val = 10;

推荐阅读