我把C语言写的一个头文件移到MFC下后,编译就出现以下错误:
error C2159: more than one storage class specified错误指向一个typedef struct a{
int a;
int b;
} a;
的定义。为何在C里没有任何问题,到了C++里就出错?

解决方案 »

  1.   

    结构定义还在头文件里,只不过在一个C++文件里include了一下,编译时就出现错误。而在C文件里include,则不会出现问题。不知道这是为何?
      

  2.   

    头文件: a.h
    包含下列内容:
    typedef struct a{
    int a;
    int b;
    } a;
    .
    .
    .
    CPP文件:a.CPP
    #include "a.h"
    .
    .
    .这两个文件编译时就会出现error C2159: more than one storage class specified 错误,真搞不清楚为何这样。
      

  3.   

    typedef struct a{
    int a;
    int b;
    } a;这么定义有问题啊。
      

  4.   

    在这个头文件之前include的头文件中最后一个struct少了一个分号,结果错误出现在这个头文件中。tnnd,VC++真是垃圾,编译错误竟然这样提示,真是垃圾。谢谢诸位!!