gpt4 book ai didi

windows - 如果我尝试将 header 编译为没有换行符的包含,为什么 MSVC++ 会给我一个错误? (C++/Windows )

转载 作者:可可西里 更新时间:2023-11-01 11:22:42 27 4
gpt4 key购买 nike

我正在使用 MSVC++ 编写一个简单的窗口,并且我包含了一个菜单的资源文件:

MYMENU MENU DISCARDABLE
//etc.

然后我创建了一个头文件“resourcedef.h”,其定义如下

#define ID_MYMENU_FILE_CLOSE 1002

我可以将它包含在我的 main.cpp 文件中而不会出错,但是,当我将它包含在资源文件中时,我得到了错误

.\resourcedef.h(9) : fatal error RC1004: unexpected end of file found

(resourcedef.h 恰好有 9 行长)。当我在 .h 的末尾添加换行符时,

//lines 1 - 8
#define ID_MYMENU_FILE_OPEN 1001

所以有第十个空行(没有出现在 SO 上),它编译得很好。如果我在第十行放任何东西,即使是注释,编译器也会给我一个错误。有谁知道是什么原因造成的,我该如何解决?

最佳答案

省略文本文件末尾的尾随换行符是个坏主意 - 如果没有它,许多工具将无法正常工作。 (一些文本编辑器甚至会警告您缺少它。)

尾随换行符是文本文件的标准行为 - 为什么不顺其自然,只放一个在那里。其他人都这样做。 8-)

关于windows - 如果我尝试将 header 编译为没有换行符的包含,为什么 MSVC++ 会给我一个错误? (C++/Windows ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1457231/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com