VS2010新建MFC工程直接编译运行居然出错!求解!

在VS2010中新建了一个MFC单文档程序,一行代码未写直接运行出现如下错误:1>------已启动生成:项目:tst,配置:DebugWin32------1>生成启动... 在VS2010中新建了一个MFC单文档程序,一行代码未写 直接运行出现如下错误:

1>------ 已启动生成: 项目: tst, 配置: Debug Win32 ------
1>生成启动时间为 2011/3/2 22:25:56。
1>PrepareForBuild:
1> 正在创建目录“d:\documents\visual studio 2010\Projects\tst\Debug\”。
1>InitializeBuildStatus:
1> 正在创建“Debug\tst.unsuccessfulbuild”,因为已指定“AlwaysCreate”。
1>ClCompile:
1> stdafx.cpp
1>c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afx.h(1431): error C2065: “_CRTDBG_CHECK_ASIZEAYS_DF”: 未声明的标识符
1>
1>生成失败。
1>
1>已用时间 00:00:03.56
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

双击那个错误,进入了afx.h这个文件,代码段如下:

enum AfxMemDF // memory debug/diagnostic flags
{
allocMemDF = _CRTDBG_ALLOC_MEM_DF, // turn on debugging allocator
delayFreeMemDF = _CRTDBG_DELAY_FREE_MEM_DF, // delay freeing memory
checkASIZEaysMemDF = _CRTDBG_CHECK_ASIZEAYS_DF, // AfxCheckMemory on every alloc/free
checkEvery16MemDF = _CRTDBG_CHECK_EVERY_16_DF,
checkEvery128MemDF = _CRTDBG_CHECK_EVERY_128_DF,
checkEvery1024MemDF = _CRTDBG_CHECK_EVERY_1024_DF,
checkDefaultMemDF = _CRTDBG_CHECK_DEFAULT_DF
};

其中checkASIZEaysMemDF = _CRTDBG_CHECK_ASIZEAYS_DF, // AfxCheckMemory on every alloc/free
这行提示出错"未定义标识符"_CRTDBG_CHECK_ASIZEAYS_DF"

前几天写程序都没有问题的,今天突然出现这个问题,不知道是什么原因啊
本人初学MFC,望高手指点!不胜感激!
展开
 我来答
395gex
2011-03-02 · TA获得超过1538个赞
知道小有建树答主
回答量:787
采纳率:0%
帮助的人:552万
展开全部
改成这样试试,
#include"stdio.h"
typedef struct list
{
struct list *next;
int data;
}list;
void main()
{
list p;
}
在struct list被typedef定义成list之前,它应该还是结构体,所以可能是因为这样,不能省略定义成员变量时的那个struct
追问
不知道你在说什么?

参考资料: 百度一下

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自美国认真的兔子
2011-03-03 · TA获得超过644个赞
知道小有建树答主
回答量:550
采纳率:100%
帮助的人:424万
展开全部
楼上两个是来打酱油的,你懂的
对了,这个问题,你可以重装(或者修复安装)下VS试试
你这个问题除非你修改了AFX。H,否则是不会在这出错的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式