几个小问题~!请帮忙回答下谢谢~!

yiailin2009 2009-06-12 01:26:09
1. 为什么我在创建窗口的时候 布尔 BOOL 在MFC程序中 不能写成bool?怎么我写成bool就出现错误编译不了呢?


2.InitInstance()这是个什么函数?

3.head=head->next和 head->next=head 有什么区别?


就这3个 请各位高手指教下~! 谢谢了~!
...全文
28 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xike2002 2009-06-12
  • 打赏
  • 举报
回复
问题3的解答:
假设在一个链表中,head为头结点。
head=head->next的意思是让指向head节点的指针指向head的下一个节点。
而head->next=head的意思是让指向head->next的指针指向head,构成了一个只有一个节点的环形链表。
光宇广贞 2009-06-12
  • 打赏
  • 举报
回复
MFC调用的是WINAPI,那些都是用C写的,要知道 bool 是C++的类型,不是C的,C里面没有,只有用宏定义的 BOOL 才是。

InitInstance() 望文生义啊! 初始化实例!

head=head->next和 head->next=head 有什么区别?
区别大着了。一个是给 head 赋值,一个是给 head->next 赋值,你以为是判等么?
yiailin2009 2009-06-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 majun01 的回复:]
A1:在MFC中好像BOOL和bool都可以用,不知道你的为什么报错。可以将你报错的代码贴出来。
A2:http://msdn.microsoft.com/zh-cn/library/cc485610(VS.71).aspx
http://download.csdn.net/source/1167760
A3:head=head->next是head的指向向后移动一个单位,移动到head的next所指向的单元;
head->next=head的结果是形成一个只有一个元素的环,这个元素就是head所指向的元素。
[/Quote]

谢谢朋友~!!

MSDN 没找到现在可以好好看下了。。
老邓 2009-06-12
  • 打赏
  • 举报
回复
'GameApp::InitInstance'
这个函数要求返回BOOL,也就是要求返回int,你返回bool当然不行了。
不过可以强制转换,return (BOOL)bflag;
老邓 2009-06-12
  • 打赏
  • 举报
回复
BOOL的本质是int!
所以如果要求的是int,而你用bool代替,肯定不行。

typedef BOOL int

yiailin2009 2009-06-12
  • 打赏
  • 举报
回复
f:\新建文件夹\msdev98\myprojects\game\gameapp.h(15) : error C2555: 'GameApp::InitInstance' : overriding virtual function differs from 'CWinApp::InitInstance' only by return type or calling convention
f:\vc98\mfc\include\afxwin.h(4031) : see declaration of 'CWinApp'
Error executing cl.exe.

Game.exe - 1 error(s), 0 warning(s)
用BOOL 就可以编译 用bool就出现这个错误
yiailin2009 2009-06-12
  • 打赏
  • 举报
回复
1. bool 定义了~!但是不用bool就出错误 用BOOL 就可以编译 。。。
majun01 2009-06-12
  • 打赏
  • 举报
回复
A1:在MFC中好像BOOL和bool都可以用,不知道你的为什么报错。可以将你报错的代码贴出来。
A2:http://msdn.microsoft.com/zh-cn/library/cc485610(VS.71).aspx
http://download.csdn.net/source/1167760
A3:head=head->next是head的指向向后移动一个单位,移动到head的next所指向的单元;
head->next=head的结果是形成一个只有一个元素的环,这个元素就是head所指向的元素。
chenzhp 2009-06-12
  • 打赏
  • 举报
回复
InitInstance初始化在Windows下运行的应用程序的每个新实例。通常,你重载InitInstance以构造主窗口对象并设置CWinThread::m_pMainWnd数据成员,使其指向这个窗口。
老邓 2009-06-12
  • 打赏
  • 举报
回复
1. 为什么我在创建窗口的时候 布尔 BOOL 在MFC程序中 不能写成bool?怎么我写成bool就出现错误编译不了呢?
-----
bool是C++03才加入的。而MFC太老了...


2.InitInstance()这是个什么函数?
初始化实例

3.head=head->next和 head->next=head 有什么区别?
想给谁赋值?右边给左边!
ameyume 2009-06-12
  • 打赏
  • 举报
回复
1.MFC中未定义bool?
2.字面意思,实例初始化?
3.head=head->next,head指向下一个对象;head->next=head,下一个还是指向自身?

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧