a.h#ifndef A_H
#define A_H
static int a;
#endifa.cpp 
#include "a.h"
a=100b.cpp 
#include "a.h"
a=100在2000下VC6编译,连接提示变量a重定义

解决方案 »

  1.   

    在a.cpp中
    int a;
    在b.cpp中
    extern in a;
      

  2.   

    定义全局变量就要用 extern关键字
      

  3.   

    如下还是编译错误
    a.h#ifndef A_H
    #define A_H
    static int a;
    #endifa.cpp 
    #include "a.h"
    a=100b.cpp 
    extern int a 提示变量类型不对
      

  4.   

    如果不加入static 是没有问题的,
    可就是因为加了static ,如何解决?
      

  5.   

    1多处丢失分号
    2main函数外的a=100??
      

  6.   

    a=100  
    这个是什么东东?如果是定义变量,应该
    int a = 100;如果是语句,应该
    a = 100; 并且要放到某个函数里面。估计下面这个是您想要的
    a.h#ifndef A_H
    #define A_H
    //static int a; // 您确切明白这里需要static?
      int a = 100;
    #endifa.cpp 
    #include "a.h"
    // a=100
    extern int a;b.cpp 
    #include "a.h"
    // a=100
    extern int a;
      

  7.   

    static 不就是全局变量吗?