我自己从CFormView类派生一个新类,以下是它的代码:
class CMyFormView : public CFormView
{
    DECLARE_DYNAMIC(CMyFormView)
protected:      
CMyFormView(LPCTSTR lpszTemplateName){};/*报错no appropriate default constructor available*/
CMyFormView(UINT nIDTemplate){}; /*报错no appropriate default constructor available*/
virtual ~CMyFormView() {};
public:
void SetScaleToFitSize(SIZE sizeTotal);
void SetScrollSizes(int nMapMode, SIZE sizeTotal,
SIZE& sizePage,
SIZE& sizeLine );
};
不晓得哪位大哥能帮我解决一下,不胜感激,解决马上给分!

解决方案 »

  1.   

    protected:      
    CMyFormView(LPCTSTR lpszTemplateName){};/*报错no appropriate default protected -> public : 试试
      

  2.   

    class CMyFormView : public CFormView
    {
        DECLARE_DYNAMIC(CMyFormView)
    protected: 
             CMyFormView(){};/*****     加一个这个试试. *****/
    CMyFormView(LPCTSTR lpszTemplateName){};/*报错no appropriate default constructor available*/
    CMyFormView(UINT nIDTemplate){}; /*报错no appropriate default constructor available*/
    virtual ~CMyFormView() {};
    public:
    void SetScaleToFitSize(SIZE sizeTotal);
    void SetScrollSizes(int nMapMode, SIZE sizeTotal,
    SIZE& sizePage,
    SIZE& sizeLine );
    };
      

  3.   

    参数是指针,没有赋值需要指明为NULL
      

  4.   

    CMyFormView():CFormView(){};/在派生类的构造函数后加一个基类的构造函数试试.
      

  5.   

    如:CMyFormView(LPCTSTR lpszTemplateName=NULL){};
      

  6.   

    构造函数不要protected. 改为public
      

  7.   

    CMyFormView();           // protected constructor used by dynamic creation
    DECLARE_DYNCREATE(CMyFormView)
    把DEFAULT CONSTRUCTOR放在动态创建的宏前面.
      

  8.   

    不好意思,各位的都不行,错误更多了!
    winehero(God helps those who help themselves.) 的好象和no appropriate default constructor available错误没有关系吧,改了一样是那么多错误!
      

  9.   

    to:striking(硬撑者)
    我已经改成了public:但是,还是有这个问题出现!
      

  10.   

    CMyFormView();           // protected constructor used by dynamic creation
    DECLARE_DYNCREATE(CMyFormView)
    把DEFAULT CONSTRUCTOR放在动态创建的宏前面.
    这样也不行吗?
      

  11.   

    每个构造函数后面加
     :CFormView(CMyFormView::IDD)
      

  12.   

    不好意思,刚刚吃饭去了
    error C2512: 'CFormView' : no appropriate default constructor available
      

  13.   

    编译器错误 C2512“identifier”: 没有合适的默认构造函数可用
    对指定的类、结构或联合没有可用的默认构造函数。如果没有提供用户定义的构造函数,则编译器提供默认构造函数。如果提供采用非 void 参数的构造函数,则必须也提供默认构造函数。默认构造函数可以是具有所有参数的默认值的构造函数。
    下面的示例生成 C2512:
    // C2512.cpp
    class B {
    public:
       B (char *);
       /* add the folling constructor
       B() {
       };
       */
    };int main() {
       B b;    // C2512
    }
      

  14.   

    TO:ydfivy(我就是一送外卖的)
    还是不行,你那里调试可以吗??
      

  15.   

    TO:striking(硬撑者)
    加了 :CFormView(CMyFormView::IDD)之后,报错是:error C2039: 'IDD' : is not a member of 'CMyFormView'
      

  16.   

    stone4774(stone4774) 那你要看看基类CFormView是需要什么参数. 如果没有参数, 就放空嘛
      

  17.   

    TO: striking(硬撑者)
    我的目的是我的CMyFormView类取代CFormView类,来创建窗体,也就是说现在没有IDD之类的参数,但是分析CFormView的构造函数发现,它必须要有一个参数!不知怎么弄??
      

  18.   

    看了半天.
    class CMyFormView : public CFormView
    {
        DECLARE_DYNAMIC(CMyFormView)
    protected:      
    CMyFormView(LPCTSTR lpszTemplateName):CFormView(lpszTemplateName){};/*看看我给你改的*/
    CMyFormView(UINT nIDTemplate)):CFormView(nIDTemplate){}; /*看看我给你改的*/
    virtual ~CMyFormView() {};
    public:
    void SetScaleToFitSize(SIZE sizeTotal);
    void SetScrollSizes(int nMapMode, SIZE sizeTotal,
    SIZE& sizePage,
    SIZE& sizeLine );
    };
      

  19.   

    没有错误了,谢谢!马上结帖!,能告诉我你QQ吗?呵呵,我的QQ是32500044,我今年7月才毕业,现在在深圳一公司搞VC,但是什么也不会,所以想找高手带一下!