2013-07-05 29 views
0

我創建的類LCalculation的對象另一個類,錯誤C4430 - 對象 - 類

class LCalculation 
{ 
    public: 
     unsigned __int64 m_Amount_of_Numbers; 
     [...] 
}; 

現在我嘗試使用它,面對這些錯誤。它與這個對象聲明有關。我只是不明白。任何人都可以幫忙嗎?如果需要更多信息,請隨時詢問。



class CMFC_App_CalculationDlg : public CDialogEx 
{ 
private: 
    LCalculation m_LCalc; 
}; 

  • 1> C:\用戶\管理員\文件\視覺工作室2010 \項目\計算值\ mfc_ap​​p_calculation \ mfc_ap​​p_calculationdlg.h(35):錯誤C2146:語法錯誤:缺少';'在標識符'm_LCalc'之前
  • 1> c:\ users \ admin \ documents \ visual studio 2010 \ projects \ Calc \ mfc_ap​​p_calculation \ mfc_ap​​p_calculationdlg.h(35):錯誤C4430:缺少類型說明符 - 假定爲int。注意:C++不支持default-int
  • 1> c:\ users \ admin \ documents \ visual studio 2010 \ projects \ Calc \ mfc_ap​​p_calculation \ mfc_ap​​p_calculationdlg.h(35):錯誤C4430:缺少類型說明符 - 假定爲int。注意:C++不支持默認int

void CMFC_App_Calculation::OnEnChangeEdit2() 
{ 
    m_LCalc.m_Amount_of_Numbers = UpdateData(TRUE); 
} 

  • 1> C:\用戶\ ADMIN \文檔\ Visual Studio 2010的\項目\計算器\ mfc_ap​​p_calculation \ mfc_ap​​p_calculationdlg.cpp (191):error C2065:'m_LCalc':未聲明的標識符
  • 1> c:\ users \ admin \ documents \ visual studio 2010 \ projects \ Calc \ mfc_ap​​p_calculation \ mfc_ap​​p_calculationdlg.cpp(191):error C2228:left of' .m_Amount_of_Numbers'必須具有類/結構/聯合
    • 類型是 '' 未知類型 ''





得到它,我是新來的。 @Joachim Pileborg。謝謝。

第一頭:

// MFC_App_Calculation.h : main header file for the PROJECT_NAME application 
// 

#pragma once 

#ifndef __AFXWIN_H__ 
    #error "include 'stdafx.h' before including this file for PCH" 
#endif 

#include "resource.h"  // main symbols 


// CMFC_App_CalculationApp: 
// See MFC_App_Calculation.cpp for the implementation of this class 
// 

class CMFC_App_CalculationApp : public CWinApp 
{ 
public: 
    CMFC_App_CalculationApp(); 

// Overrides 
public: 
    virtual BOOL InitInstance(); 

// Implementation 

    DECLARE_MESSAGE_MAP() 
}; 

extern CMFC_App_CalculationApp theApp; 

二頭:

// MFC_App_CalculationDlg.h : header file 
// 

#pragma once 


// CMFC_App_CalculationDlg dialog 
class CMFC_App_CalculationDlg : public CDialogEx 
{ 
// Construction 
public: 
    CMFC_App_CalculationDlg(CWnd* pParent = NULL); // standard constructor 

// Dialog Data 
    enum { IDD = IDD_MFC_APP_CALCULATION_DIALOG }; 

    protected: 
    virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 


// Implementation 
protected: 
    HICON m_hIcon; 

    // Generated message map functions 
    virtual BOOL OnInitDialog(); 
    afx_msg void OnSysCommand(UINT nID, LPARAM lParam); 
    afx_msg void OnPaint(); 
    afx_msg HCURSOR OnQueryDragIcon(); 
    DECLARE_MESSAGE_MAP() 
public: 
    afx_msg void OnBnClickedRadio1(); 
    afx_msg void OnBnClickedRadio2(); 
private: 
    LCalculation m_LCalc; 
public: 
    afx_msg void OnEnChangeEdit2(); 
}; 

三頭:

#pragma once 
/*Comments*/ 
class LCalculation 
{ 
    public: 
     unsigned __int64 m_Amount_of_Numbers; 
     unsigned __int64 m_Amount_of_Guesses; 
     unsigned __int64 m_Probability; 
     LCalculation(); 
     bool m_bEqual; 
     void CalculateThis(); 
     void SZ_true(); 
     void SZ_false(); 
     void NUMBERequals (unsigned __int64 NUMBERS, unsigned __int64 GUESSES, unsigned __int16 IDENTIFIER); 
}; 
+0

你是否在定義'CMFC_App_CalculationDlg'的頭文件中包含了定義'LCalcultation'的頭文件? –

+1

您可以發佈*完整的*和*未經編輯的*錯誤消息嗎?並且指出在哪裏你有這些錯誤。另外,什麼是「m_LottoBerechnung」? –

+0

另外,在'm_LottoBerechnung'聲明之前檢查你的分號。看來你只是想念一對夫婦。 –

回答

2

在你第二個頭文件(MFC_App_CalculationDlg.h),你忘記了#include "LCalculation.h"或者你命名了第三個頭文件。

而BTW,UpdateData返回一個BOOL,而不是一個amount_of_numbers。您應該閱讀UpdateData和DoDataExchange的文檔以更好地瞭解MFC如何與對話框控件進行數據交換。

+1

其實它是第二個頭文件,但是謝謝。我在一分鐘前就明白了。 – Blacktempel

+1

是的,我剛剛看到並糾正了(現在也給出了h文件的名稱)。 –