【问题标题】:"std_lib_facilities.h" (from Programming: Principles and Practices by Bjarne Stroustrup) does not work“std_lib_facilities.h”(来自编程:Bjarne Stroustrup 的原则和实践)不起作用
【发布时间】:2016-03-13 19:32:10
【问题描述】:

我有 Microsoft Visual 2010。这不会是头文件不起作用。 该文件的代码是here

两个错误是:

#ifndef H112

“错误:该指令的#endif 文件丢失”

typedef long Unicode;

“错误:PCH 警告:标头不能在宏或 #if 块中。未生成智能感知 PCH 文件”

构建的输出显示:

1>----- 构建开始:项目:HelloWorld!,配置:发布 Win32 ------

1> HelloWorld!.cpp

1>c:\users\hp\desktop\c++ programming\helloworld!\helloworld!\std_lib_facilities.h(55): 致命错误 C1070: 文件 'c:\users\hp 中的 #if/#endif 对不匹配\desktop\c++ 编程\helloworld!\helloworld!\std_lib_facilities.h'

========== 构建:0 成功,1 失败,0 最新,0 跳过 ==========

我该怎么办?我正在学习编程:使用 C++ Bjarne Stroustrup 的原则和实践。我已将此文件存储在我的源代码文件夹中。

编辑:我再次复制粘贴了整个代码。第一个错误消失了。但是第二个错误仍然存​​在。 :(

【问题讨论】:

  • 智能感知“错误”不是错误。不过,第一个很奇怪。
  • 你忘了复制最后一行的#endif吗?
  • 我再次复制粘贴了整个代码。第一个错误消失了。但是第二个错误仍然存​​在。 :(
  • 我删除了头文件并再次构建解决方案。我知道发生了什么。问题解决了。

标签: c++


【解决方案1】:

在程序结束时将“#endif //H112”更改为“#endif H112”

【讨论】:

  • 不正确。虽然 MSVC 允许这样做,但它不符合标准,但完全是必要的,绝对不是问题。 Bjarne 的代码没有任何问题,如果有的话我会非常惊讶。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-23
相关资源
最近更新 更多