函数声明:
CClassTest* GetTest();错误信息。
error C2143: syntax error : missing ';' before '*'
error C2501: 'CClassTest' : missing storage-class or type specifiers如果在include头文件下面紧接着,再声明一下 class CClassTest, 就可以认出该类。
但类似问题一下子出现很多,无法一一修改,哪位见过这种情况?

解决方案 »

  1.   

    文件扩展名是 .c 还是 .cpp如果是 c ,那改为 cpp 试试看。
      

  2.   

    是cpp的,本来好好的,一下子改了很多文件,做了大的修改,包括用助手x批量修改了一些。
    再编译,本来没有问题的文件基本都出现类似问题。
      

  3.   

    #ifndef CCLASSTEST_H
    #define CCLASSTEST_H ..................
    class CClassTest
    {
    }
    #endif是不这样的?把这些预定义编译开关去掉
      

  4.   

    还是加上class   CClassTest;为好,正确的做法就是这样的,否则就要依赖于使用这个h文件的cpp文件的包含顺序了,可能会出现这样的情况
    你有一个a.h,里面使用了几个类型,没有定义。没有出现错误
    b.cpp使用这个头文件,没有出错
    而在c.cpp中使用这个头文件,就会提示类型没有定义。这是因为在你的b.cpp里面,在include "a.h"之前,include 了其它的头文件,在那些文件里面定义了这个类型了。
      

  5.   

    #ifndef   CCLASSTEST_H
    把这些预定义编译开关去掉会出现重复定义头文件内容吧?wjkgz 说的情况以前从没有出现过啊,现在从VSS里get一个上次传的一个关键类文件,没有了这些问题,
    可能是这个类的头文件哪些地方有问题吧,我再一点一点添加东西试试。
      

  6.   

    嗯,应该是包含头文件引起交叉混乱,
    去掉include头文件,改用class 声明后,没事儿了。