gpt4 book ai didi

c++ - 标准头文件中的错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:21:25 25 4
gpt4 key购买 nike

我目前遇到以下错误:

c:\program files\microsoft visual studio\vc98\include\iomanip(15) : error C2059: >syntax error : 'namespace'

c:\program files\microsoft visual studio\vc98\include\iomanip(15) : error C2334: >unexpected token(s) preceding '{'; skipping apparent function body

c:\program files\microsoft visual studio\vc98\include\math.h(36) : error C2059: syntax >error : 'string'

c:\program files\microsoft visual studio\vc98\include\math.h(36) : error C2334: unexpected >token(s) preceding '{'; skipping apparent function body

由于它们都在标准库头文件中,因此是只读的,我不知道如何修复它!

任何帮助都会很棒。

最佳答案

在 C/C++ 中,预处理器在源代码真正被解析之前运行,#include 基本上只是将不同的文件拼接在一起。这样做的一个结果是 C/C++ 非常乐意让一个文件中的 { 匹配另一个(包含的)文件中的 }。当然,从来没有人这样做(或者如果他们这样做,他们应该被 Gunicorn ),但是因为 C/C++ 预处理器头脑简单,所以在技术上是允许的。

这样做的一个结果是,您自己的一个文件中的语法错误最终可能看起来像其他文件中的语法错误。当我忘记在类定义之后放置 ; 时,我自己经常遇到这种情况。但不匹配的 {} 可能(如您所见)具有相同的效果。

因此,如果您在某些您认为可能不应该存在的包含文件中看到错误(例如标准库),那么首先要查看的是该文件之前包含的任何文件。有时重新排列您的 #include 语句也有助于缩小错误来源的范围。

关于c++ - 标准头文件中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10333372/

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