代码如下,小弟刚学VC,以下代码编译通不过,麻烦各位大哥指点下
#include <iostream.h>
#include <stdio.h>
class MatchINT
{
public:
//    MatchINT();
    BOOL Matchnew();    
    BOOL Maxtemp();
}
BOOL MatchINT::Matchnew()
{
    return;
}BOOL MatchINT::Maxtemp()
{
    return;
}void main ()
{
    MatchINT ma;
    ma.MatchINT();

解决方案 »

  1.   

    构造和析构函数会有默认的;
    我觉得是他的函数return没有返回值的原因,声明时全是bool型的
      

  2.   

    BOOL MatchINT::Matchnew() 

        return; //看看你返回值对吗?
    } BOOL MatchINT::Maxtemp() 

        return; //看看你返回值对吗?
    }
      

  3.   

    我编译的时候类里的的BOOL定义就出错,到  BOOL Matchnew();    这行系统提示F:\软件备份\教程\test.cpp(7) : error C2146: syntax error : missing ';' before identifier 'Matchnew'但是分号该加的地方我都加了
      

  4.   

    bool和BOOL是不一样的。
    把BOOL全部改成小写bool。
      

  5.   

    BOOL MatchINT::Matchnew() 

        return true; //必须要有返回值!!
    }
    没有在.h文件中声明函数。
      

  6.   

    1.在你include的两个头文件中都没有“BOOL”的声明,BOOL是windows.h中的声明,
      你可以在class MatchINT {}... 前加入#include <windows.h> 或者typedef int BOOL;
    2.class MatchINT
      {
        ...
      };
    3.参照4楼所说的加上返回值
    4.“ma.MatchINT();”构造函数是不能这样调用的,由系统自动调用
      

  7.   


    #include <iostream> 
    #include <stdio.h> class MatchINT 

    public: 
    //    MatchINT(); 
        bool Matchnew();    
        bool Maxtemp(); 
    };bool MatchINT::Matchnew() 

        return false; 
    } bool MatchINT::Maxtemp() 

        return false; 
    } void main() 

        //MatchINT* pma;
    //pma = new MatchINT();
    MatchINT ma;//这个已经调用了构造函数,不用再显示调用了
    }
      

  8.   

    类定义完成之后应该有分号结尾的,跟定义结构一样,改成如下class MatchINT 

    public: 
    //    MatchINT(); 
        BOOL Matchnew();    
        BOOL Maxtemp(); 
    };
      

  9.   

    以前C语言没有BOOL变量,都是用int去模拟BOOL,所以在windows里可以见到
    typedef int BOOL
    后来C语言加入了bool变量的支持,但是为了保持兼容性,还是支持BOOL。