hur.cn - 华软网

 热门搜索

关于error C2143: syntax error : missing '}' before ''

  作者:未知    来源:网络    更新时间:2009/7/13
错误提示:
1>.\adujstrowcoldlg.cpp(42) : error C2143: syntax error : missing '}' before ';'
1>.\adujstrowcoldlg.cpp(44) : error C2143: syntax error : missing ';' before '}'
1>.\adujstrowcoldlg.cpp(44) : error C2653: 'TheBaseClass' : is not a class or namespace name
1>.\adujstrowcoldlg.cpp(44) : error C2065: 'GetThisMessageMap' : undeclared identifier
1>.\adujstrowcoldlg.cpp(44) : error C2065: '_messageEntries' : undeclared identifier
1>.\adujstrowcoldlg.cpp(44) : error C2059: syntax error : 'return'
1>.\adujstrowcoldlg.cpp(44) : error C2059: syntax error : '}'
1>.\adujstrowcoldlg.cpp(44) : error C2143: syntax error : missing ';' before '}'
1>.\adujstrowcoldlg.cpp(44) : error C2059: syntax error : '}'
该错误都指向的是
BEGIN_MESSAGE_MAP(CAdujstRowColDlg, CDialog)
//{{AFX_MSG_MAP(CAdujstRowColDlg)
ON_WM_HELPINFO();
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
不知道为什么,请高人指点迷津。谢谢
---华软 网友回答---
ON_WM_HELPINFO(); 把最后的分号去掉
---华软网友回复---
TheBaseClass 这个类的定义或者引用不正确
---华软网友回复---
消息映射表不要写分号啊
---华软网友回复---
1楼up
ON_WM_HELPINFO(); 
分号不要!
---华软网友回复---
大家都来捡粪阿。
---华软网友回复---
ON_WM_HELPINFO() 去掉分号
---华软网友回复---
引用 5 楼 happyparrot 的回复:
大家都来捡粪阿。

太恶了~~~
---华软网友回复---
引用 7 楼 biweilun 的回复:
引用 5 楼 happyparrot 的回复:
大家都来捡粪阿。

太恶了~~~



哈哈,,
---华软网友回复---
哈哈 
---华软网友回复---
我去掉了 错误反而还多了一条。还是不行的 我都弄过了 还有一处有类似的错误:
1>.\realreportdlg.cpp(61) : error C2143: syntax error : missing '}' before '{'
1>.\realreportdlg.cpp(61) : error C2143: syntax error : missing ';' before '{'
1>.\realreportdlg.cpp(61) : error C2143: syntax error : missing ';' before '}'
1>.\realreportdlg.cpp(61) : error C2653: 'TheBaseClass' : is not a class or namespace name
1>.\realreportdlg.cpp(61) : error C2065: 'GetThisMessageMap' : undeclared identifier
1>.\realreportdlg.cpp(61) : error C2065: '_messageEntries' : undeclared identifier
1>.\realreportdlg.cpp(61) : error C2059: syntax error : 'return'
1>.\realreportdlg.cpp(61) : error C2059: syntax error : '}'
1>.\realreportdlg.cpp(61) : error C2143: syntax error : missing ';' before '}'
1>.\realreportdlg.cpp(61) : error C2059: syntax error : '}'
指向的位置:

BEGIN_MESSAGE_MAP(CRealReportDlg, CDialog)
//{{AFX_MSG_MAP(CRealReportDlg)
ON_BN_CLICKED(IDC_WINDOW_RADIO, OnWindowRadio)
ON_BN_CLICKED(IDC_CONTENT_RADIO, OnContentRadio)
ON_BN_CLICKED(IDC_WIDTH_RADIO, OnWidthRadio)
ON_BN_CLICKED(IDC_REPORT_STYLE_BUTTON, OnReportStyleButton)
ON_EN_CHANGE(IDC_COLUMN_WIDTH_EDIT, OnChangeColumnWidthEdit)
ON_WM_HELPINFO()
#ifndef _WIN32_WCE //2004-2-3 WangYH add case for WCE;
ON_WM_CONTEXTMENU() 
#endif
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
---华软网友回复---
你把CPP都贴出来,问题不在你贴的这个地方
---华软网友回复---
对话框头文件中是否添加 DECLARE_MESSAGE_MAP()
---华软网友回复---
源码,无真相
---华软网友回复---
// AdujstRowColDlg.cpp : implementation file
//

#include "stdafx.h"
#include "report.h"
#include "AdujstRowColDlg.h"
#include "GridCtrl_src/GridCtrl.h"
#include "RealReportDlg.h"
#include "WinUser.h" //bms
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAdujstRowColDlg dialog


CAdujstRowColDlg::CAdujstRowColDlg(CWnd* pParent /*=NULL*/, BOOL bIsInsert /*=TRUE*/)
: CDialog(CAdujstRowColDlg::IDD, pParent)
{
m_pGridCtrl = (CGridCtrl*)pParent ;
m_bIsInsert = bIsInsert ;
//{{AFX_DATA_INIT(CAdujstRowColDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}


void CAdujstRowColDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAdujstRowColDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAdujstRowColDlg, CDialog)
//{{AFX_MSG_MAP(CAdujstRowColDlg)
ON_WM_HELPINFO()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAdujstRowColDlg message handlers

int CAdujstRowColDlg::DoModal() 
{
// TODO: Add your specialized code here and/or call the base class
((CReportApp*)AfxGetApp())->ShowTooBarWindow(SW_HIDE) ;
int nRet = CDialog::DoModal();
((CReportApp*)AfxGetApp())->ShowTooBarWindow(SW_SHOW) ;

return nRet ;
}

BOOL CAdujstRowColDlg::OnInitDialog() 
{
CDialog::OnInitDialog();

// TODO: Add extra initialization here
CButton* pRadioButton = (CButton*)GetDlgItem(IDC_RADIO_ROW) ;
if( pRadioButton )
{
pRadioButton->SetCheck(TRUE) ;
}
if( !m_bIsInsert )//delete cells
{
CString str ;
str.LoadString(IDS_DELETE) ;
SetWindowText(str) ;

CStatic* pStatic = (CStatic*)GetDlgItem(IDC_STATIC_INSERT) ;
if( pStatic != NULL)
{
pStatic->SetWindowText(str) ;
}
}
return TRUE;  // return TRUE unless you set the focus to a control
              // EXCEPTION: OCX Property Pages should return FALSE
}

void CAdujstRowColDlg::OnOK() 
{
// TODO: Add extra validation here
CWaitCursor wait ;
if( m_pGridCtrl != NULL )
{
CCellID cell = m_pGridCtrl->GetFocusCell() ;

BOOL bIsRow = FALSE ;
BOOL bIsCol = FALSE ;
CButton* pRadioButton = (CButton*)GetDlgItem(IDC_RADIO_ROW) ;
if( pRadioButton )
{
bIsRow = pRadioButton->GetCheck() ;
}
pRadioButton = (CButton*)GetDlgItem(IDC_RADIO_COL) ;
if( pRadioButton )
{
bIsCol = pRadioButton->GetCheck() ;
}
CDialog::OnOK();

if( bIsRow == TRUE && bIsCol == FALSE ||
bIsRow == FALSE && bIsCol == TRUE )
{
if( m_bIsInsert )
{
if( bIsRow )
m_pGridCtrl->InsertRow(_T(""), cell.row) ;
if( bIsCol )
m_pGridCtrl->InsertColumn(_T(""), 0, cell.col) ;
}
else
{
if( bIsRow )
m_pGridCtrl->DeleteRow(cell.row) ;
if( bIsCol )
m_pGridCtrl->DeleteColumn(cell.col) ;
}
}
}
else
CDialog::OnOK();
}

BOOL CAdujstRowColDlg::OnHelpInfo(HELPINFO* pHelpInfo) 
{
// TODO: Add your message handler code here and/or call default
///////////////// Begin of _FEATURE_USE_ ///////////////////////////
#ifdef _FEATURE_USE_ 
UINT dwText = CRealReportDlg::GetHelpStringID( pHelpInfo->iCtrlId ) ;
if( dwText == 0 )
return FALSE ;
CRealReportDlg::ShowHtmlHelpMessage(m_hWnd, dwText, pHelpInfo->MousePos) ;
return CDialog::OnHelpInfo(pHelpInfo);
#endif
///////////////// End of _FEATURE_USE_ ///////////////////////////
return FALSE; //2004-2-3 WangYH Add;
}

---华软网友回复---
我现在正在做EVC工程升级到VS2005上。工程比较多,代码也很多,所以贴代码也不好弄啊。
---华软网友回复---
晕啊。你新的错误已经不是这个类了,你没有看出来吗?
---华软网友回复---
多了一个}符号吧。
---华软网友回复---
不是多了;就是少了;  或者 是{  }
---华软网友回复---
仔细地好好地认真地检查

}

号附近的标识符

编译器不认识
---华软网友回复---
眼花缭乱...
---华软网友回复---
 'TheBaseClass' : is not a class or namespace name 

TheBaseClass.h 没有 include (当然需要先添加到工程)
---华软网友回复---
错误在realreportdlg.cpp中吧
TheBaseClass定义可能有误
---华软网友回复---
我也遇见了这个问题,求解释      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。