首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

case里面定义数组为何运行时出错?解决思路

2012-03-01 
case里面定义数组为何运行时出错?NT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM

case里面定义数组为何运行时出错?
NT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(lParam);
HWND hwnd;

switch (message)
{
case WM_INITDIALOG:
InitImageShow(hInst, hDlg, NULL);
return (INT_PTR)TRUE;

case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDOK:
case IDCANCEL:
EndDialog(hDlg, LOWORD(wParam));
EndImageShow();
break;

case IDC_ARRAY: // 这里面的数组定义出错。移到函数外面就能正常运行
{
  float Array[1310400];
}

break;
}
}
return (INT_PTR)FALSE;
}



int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
hInst = hInstance;
return (int) DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), NULL, About, NULL);

}


把数组的定义放到case里,并加上大括号,编译通过了,但是运行时出错,会跳转到一个chkst.asm的页面,提示Stack overflow。 但是如果把数组的定义放到函数的外面做全局变量就能正确运行。

[解决办法]
我没特别好的学习方法,只是认为做项目是提高水平最好的方法,当然平时多看书,提高下理论水平.

热点排行