2017-08-06 4 views
0

外部コードを短くしようとしました。私は一つの変数を救うことができると思う。C++ uncorrectは必須ではありません。クラスメンバ変数の再宣言MFC handmade solution/project MS VS 2015

次のコードはOKで、Windowsフレームを示しています。

#include <afxwin.h> 
// from source: http://www.codersource.net/2010/01/30/mfc-tutorial-part-1/ 
class MFC_Tutorial_Window :public CFrameWnd 
{ 
public: 
    MFC_Tutorial_Window()  
    { 
     Create(NULL, "MFC Tutorial Part 1 CoderSource Window"); 
    } 
}; 

class MyApp :public CWinApp 
{ 
    MFC_Tutorial_Window *wnd; 

public: 
    BOOL InitInstance() 
    { 
     wnd = new MFC_Tutorial_Window(); 
     m_pMainWnd = wnd;       
     m_pMainWnd->ShowWindow(1); 
     return 1; 
    } 
}; 

MyApp theApp; 

私の言い直し後、もはや機能しません。ビルドエラーはありません。しかし、それはフレームを表示しません。

#include <afxwin.h> 
// from source: http://www.codersource.net/2010/01/30/mfc-tutorial-part-1/ 
// and changed by me 

class MFC_Tutorial_Window :public CFrameWnd 
{ 
public: 
    MFC_Tutorial_Window() 
    { 
     Create(NULL, "MFC Tutorial Part 1 CoderSource Window"); 
    } 
}; 

class MyApp :public CWinApp 
{ 
    // del MFC_Tutorial_Window *wnd; 
    MFC_Tutorial_Window *m_pMainWnd; // ins 


public: 
    BOOL InitInstance() 
    { 
     // del wnd = new MFC_Tutorial_Window(); 
     // del m_pMainWnd = wnd; 
     m_pMainWnd = new MFC_Tutorial_Window(); // ins 
     m_pMainWnd->ShowWindow(1); 
     return 1; 
    } 
}; 

MyApp theApp; 

どうしたのですか?

+1

変数 'm_pMainWnd'を再宣言しませんか?私は最初のコードでその宣言を見ることができません、なぜ2番目の例でメンバ変数 'm_pMainWnd'を作成していますか? 'MFC_Tutorial_Window * m_pMainWnd;'行を削除しようとしました。 –

+0

これで動作します。ヒントありがとうございます。今私はこの動作を理解することができます。 – CarpeDiemKopi

+0

Npメイト、喜んで助けました。 –

答えて

1

問題はメンバー変数MFC_Tutorial_Window *m_pMainWnd;の再宣言であり、この行は機能しません。

関連する問題