请问我的程序在编译的时候,有一个错误是class type redefinition

解决方案 »

  1.   

    多包含了class,建议所有的包含文件放在stdafx.h里面
      

  2.   

    要么可能你使用了其他软件开发包,其中包含了和MFC相同的类名定义。
    再有可能是你自己写了个类,可能与MFC的类同名。
    特别要检查你自己添加的代码。
      

  3.   

    hi,有谁试过 skyonline(山中过客) 的方法?“所有的包含文件放在stdafx.h里面”我曾有这种构思,但没有成为事实,这回不会影响PCH文件之类的?
      

  4.   

    to  hsdly
    你可以试着把该cpp文件定义重复类的#include语句移到文件最上面,或者移到#if def这类预编译块和class开始处之间
      

  5.   

    我原来引入了一个adodc的控件但过了一段时间后没有了,后来又添加了一个就出现了这个错误!
      

  6.   

    那就是你两次引入adodc控件时,VC自动为你添加了两套CPP和H文件,请手工删除一套文件,并检查程序的包含信息。
      

  7.   

    是不是#if !defined(HEADER_NAME)
    #define HEADER_NAME#if _MSC_VER > 1000
    #pragma once
    #endif...
    #endif的写法不正确
      

  8.   

    在H文件中有两个地方定义了你所需要的类。可以人工删除后面的,前面的较新。在cpp文件中可能也存在重复的函数实现。也一并删除。