在头文件里面定义一个二维数组,想把他初始化
如:
int aa[3][4]={{1,2,3,4},{1,2},{5,4,3,2}};
在编译的时候编译系统却报错!!!
怎么回事呢?!!!
我也认为不应该报错啊
但系统就是提示错误
系统提示错误如下:
syntax error : '{'
unexpected token(s) preceding '{'; skipping apparent function body
怎么回事呢?
还请高手赐教!!!
如果我在头文件里,只是定义,而不进行初始化,就没有问题
如 int aa[3][4];
编译能正常通过
但这样我就必须在.cpp文件里面对数组各个元素进行赋值初始化,这样也未免太麻烦了吧,要是遇到一个如20×20大数组,做这样的赋值初始化都会累掉半条命啊!!!
还望各位xdjm赐教!!!
我想至于9楼提出的可能是“其他地方的大括号出现问题”,我想其他地方的大括号应该没有问题,因为正如我在5楼说的那样,只是定义而不做初始化,编译能正常通过,我想这足以证明其他地方的大括号没有问题拉!!
class CAaDlg : public CDialog
{
// Construction
public:
int aa[3][4]={{1,2,3,4},{1,2},{5,4,3,2}};
CAaDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CAaDlg)
enum { IDD = IDD_AA_DIALOG };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAaDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CAaDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//这是类定义
class CAaDlg : public CDialog
{
// Construction
public:
int aa[3][4];
CAaDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CAaDlg)
enum { IDD = IDD_AA_DIALOG };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAaDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CAaDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//这是构造函数
CAaDlg::CAaDlg(CWnd* pParent /*=NULL*/)
: CDialog(CAaDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CAaDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
aa[3][4]={{1,2,3,4},{1,2},{5,4,3,2}};
}
受教了!!!
谢谢版主!!