这里的一直提示 未声明的标识符 mfc初学者
程序是mfc编程实现了lr分析器,
头文件包含如下
#include "stdafx.h"
#include "LR.h"
#include "LRDlg.h"
#include "afxdialogex.h"
#include"status_stack.h" //状态栈
#include"symbol_instr_stack.h" // 符号输入串栈
#include"llrr.h" 这是lr分析表的一个头文件
BOOL WINAPI Main_Proc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch(uMsg)
{
//HANDLE_MSG(hWnd,WM_INITDIALOG,Main_OnInitDialog);这里我给注释掉了
HANDLE_MSG(hWnd,WM_COMMAND,Main_OnCommand);
HANDLE_MSG(hWnd,WM_CLOSE,Main_OnClose);
}
return false;
}
之后的Main_OnCommand函数
void Main_OnCommand(HWND hwnd,int id,HWND hwndCtl,UINT codeNotify)
{
switch(id)
{
case IDC_BUTTON1:
{
//初始化各栈
init_stack(hwnd,status_p);
init_stack(hwnd,symbol_p);
init_stack(hwnd,instr_p);
//压进栈初始元素
push(hwnd,status_p,0);
push(hwnd,symbol_p,'#');
char x;
TCHAR msg[256];
GetDlgItemText(hwnd,IDC_EDIT3,msg,sizeof(msg));
unsigned int i;
for(i=0;i<strlen(msg);i++)
{
push(hwnd,symbol_p,msg[i]);
}
//然后由符号栈弹出,压进输入栈
while(symbol_p->top!=0)
{
x=pop(hwnd,symbol_p);
push(hwnd,instr_p,x);
}
print(hwnd,status_p,symbol_p,instr_p);
}
break;
case IDC_BUTTON2:
{
action(hwnd,status_p,symbol_p,instr_p);
}
break;
case IDC_BUTTON3:
{
SetDlgItemText(hwnd,IDC_EDIT1,TEXT(""));
SetDlgItemText(hwnd,IDC_EDIT2,TEXT(""));
SetDlgItemText(hwnd,IDC_EDIT3,TEXT(""));
SetDlgItemText(hwnd,IDC_EDIT4,TEXT(""));
}
break;
default:
break;
}
}
之后的Main_OnClose函数
void Main_OnClose(HWND hwnd)
{
EndDialog(hwnd,0);
}
程序编译一直提示
1>c:\users\zj\documents\visual studio 2012\projects\lr\lr\lrdlg.cpp(168): error C2065: “Main_OnCommand”: 未声明的标识符
1>c:\users\zj\documents\visual studio 2012\projects\lr\lr\lrdlg.cpp(169): error C2065: “Main_OnClose”: 未声明的标识符
网上百度说是头文件顺序问题 可是改了还是提示这样的错误。
请问谁知道怎么修改这样才可以吗
mfc初学 求指导 谢谢