错误 C2084“函数已具有主体”

2024-01-27

我是 C++ 编码新手,这是我在 Stack Overflow 上的第一篇文章。

我正在使用 Visual C++ 编写基于文本的游戏,并且在此文件中收到 C2084 错误:

//game_system_functions.cpp
#include "basicdefines.h"

namespace
{
    using namespace std;

    void clear_console()
    {
        if (system("CLS")) system("clear");
    }
}

我觉得这很奇怪,因为它只发生在This文件。所有其他 .cpp 文件在功能上都没有问题,并且格式都相似。

我已经检查并仔细检查了所有代码,并且没有其他名为clear_console的函数。我尝试将函数重命名为一堆随机字母,但仍然遇到相同的错误。同一 .cpp 文件中的其他函数也会出现类似的错误。这个问题困扰了我一周,一直无法解决。

我读过其他帖子error C2084他们没有这个问题。 对于此错误,我希望得到一些帮助。

谢谢。

附:对于任何格式问题,我深表歉意,正如我在帖子前面所说的,这是我第一次在堆栈溢出上发帖,如果标题有点难以描述,我深表歉意。


OP:

我打算让它保存整个游戏的所有字符串和控制台操作功能,因此程序中的几乎每个文件都包含它

这就是问题所在。它是.cpp文件不是.h。它实际上包含符号的定义。 如果您现在包含此文件,则很可能您还包含的其他一些文件也包含此文件。

发生的情况是,在预处理的单元代码中会发生这样的情况:

void clear_console()
{
    if (system("CLS")) system("clear");
}

void clear_console()
{
    if (system("CLS")) system("clear");
}

现在错误消息有意义了,不是吗? 为了解决这个问题,你必须使用头护卫 http://faculty.cs.niu.edu/~mcmahon/CS241/c241man/node90.html

或者更好的是,修复你的文件结构:A.cpp永远不应该被包括在内。相反,使用此声明创建一个头文件void clear_console();. In a .cpp然后,您可以像以前一样实现该函数,但只包含标头(.h) file.

另请注意,这对于匿名名称空间来说是不可能的,但它们在这里根本没有任何意义。因此,只需使用常规/命名名称空间或摆脱它即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误 C2084“函数已具有主体” 的相关文章

  • 使用 gcc 在 Linux 上运行线程构建块 (Intel TBB)

    我正在尝试为线程构建块构建一些测试 不幸的是 我无法配置 tbb 库 链接器找不到库 tbb 我尝试在 bin 目录中运行脚本 但这没有帮助 我什至尝试将库文件移动到 usr local lib 但这又失败了 任何的意见都将会有帮助 确定您
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template

随机推荐

  • AWS API Gateway 二进制损坏

    我遇到一个问题 我的 API 网关 Lambda 集成正在通过 API 网关进行某种形式的内容映射 我有一个 API 网关 其端点使用 Lambda 代理集成 我已启用二进制媒体类型 图片 jpeg 图片 png 图片 网页 图像 端点获取
  • Python argparse 不带参数的命令行标志

    如何向命令行参数添加可选标志 例如 所以我可以写 python myprog py or python myprog py w I tried parser add argument w 但我只是收到一条错误消息说 Usage w W er
  • 从回调中返回值

    我以前没有任何 JavaScript 经验 我正在尝试实现以下函数 我希望用它来返回值 lat 和 lng function get address var geocoder new google maps Geocoder geocode
  • 如何测试泛型接口的类型?

    我不确定标题是否有意义 但我希望您能通过一些代码理解我的问题 给出以下发布 订阅框架的代码 type IMessage interface B1794F44 F6EE 4E7B 849A 995F05897E1C end ISubscrib
  • 从纬度/经度获取邮政编码

    我有一个控件 允许用户输入邮政编码或在 iframe 中打开谷歌地图 然后单击地图来选择位置 我目前已经完成了所有工作 iframe 会将点击事件中的纬度 经度发送回父级 我还设置了一个数据库表 其中的纬度 经度字段映射到邮政编码 但是 纬
  • 如何在其派生类中重写列表的切片功能

    我做了一个如下所示的课程 class MyList list def init self lst self list lst 我希望在 MyList 中覆盖切片功能 您需要提供定制 getitem http docs python org
  • 当我运行这个小鼠标钩子应用程序时,为什么我的鼠标出现滞后?

    这是我几年前编写的一个小鼠标钩子应用程序 我只是想知道为什么每当我运行它时它都会使我的鼠标滞后 我记得在某处读过 我必须调用一些方法来手动处理资源或使用 MouseListener 进行处理 每当我拖动时 它都会使我的鼠标滞后any屏幕周围
  • c# 使用excel打开xml文件[重复]

    这个问题在这里已经有答案了 如何使用 Excel 和 C winforms 打开 xml 文件 我正在将数据保存到 XML 文件 并且我需要用户在应用程序更新 xml 文件后能够立即看到该文件 我需要用 Excel 打开该文件 Proces
  • git-tf checkin 线程“main”中出现异常 java.lang.StackOverflowError

    我正在尝试使用现有的 git 存储库并使用 git tf 将其签入到 TFS Preview 当我尝试签入时收到错误 这是我到目前为止所做的事情 git 克隆 bhttps github com https github com git 来
  • 在更大的项目上处理 javascript 的方法?

    几年前发现 jQuery 后 我意识到无需编写代码书籍即可真正创建交互式且用户友好的网站是多么容易 随着项目规模的增加 进行任何调试或可能实现更改或新功能所需的时间也随之增加 通过阅读各种博客并保持一定的更新 我读到了类似的库骨干网 js
  • bootstrap-vue:大多数图标未显示

    我导入all图标 如文档所述 import Vue from vue import BootstrapVue BootstrapVueIcons from bootstrap vue Vue use BootstrapVue Vue use
  • Yii2:如何通过 Composer 添加 JavaScript 库?

    我已经设置了一个基本应用程序 https github com yiisoft yii2 app basic根据这个指南 安装 Yii http www yiiframework com doc 2 0 guide start instal
  • 如何找到 ASP.NET 中哪些对象无法序列化?

    我在我的应用程序中收到以下错误 无法序列化会话状态 在 StateServer 和 SQLServer 模式下 ASP NET 将序列化会话 状态对象 结果 不可序列化的对象或 MarshalByRef 对象不是 允许的 同样的限制 如果类
  • jQuery.live() 无法在插件内部工作

    我正在编写一个插件 需要实时绑定点击 当我进行正常的单击绑定但不是实时绑定时 该插件工作正常 我已经将插件归结为基础知识 function fn liveBindTest function return this each function
  • foreach 语句中需要类型和标识符 csharp 中的错误

    我正在将这段代码的 VB net 转换为 C Dim files As String files Directory GetFiles E text txt Dim filename As String Dim file As String
  • 如何在 python pandas 中使用 df.loc 和 if 条件删除一行

    我想用if条件和df loc 比较同一列中的两个值 如果前一个值高于下一个值 我想删除整行 这是我尝试过的和我的例子 import pandas as pd data cycle 1 1 2 2 3 3 4 4 A 0 1 0 5 0 2
  • Android Base64 音频文件编码/解码

    Doing 我目前正在录制语音并将其保存为 sdCard 中的文件 该文件在 MediaPlayer 中运行正常 我想要的是 当我将此文件编码为 Base64 并发送到服务器时 一切正常 但是当我将 Base64 字符串解码为 audio
  • 解析 Logstash 中的嵌套 JSON 字符串

    我正在以 json 格式登录logstash 我的日志有以下字段 每个字段都是一个字符串 atts字段是字符串化的 json 注意 atts子字段每次都不同 这是一个例子 name bob last builder atts a 111 b
  • 在 Pandas 中的特定行和列中填充 NaN

    我有一个看起来像这样的数据框 gt gt gt df a d s 0 1 0 3 0 2 0 1 2 0 NaN 4 0 2 3 0 6 0 NaN 3 NaN NaN 3 0 4 5 0 8 0 NaN 5 6 0 NaN NaN 我必须
  • 错误 C2084“函数已具有主体”

    我是 C 编码新手 这是我在 Stack Overflow 上的第一篇文章 我正在使用 Visual C 编写基于文本的游戏 并且在此文件中收到 C2084 错误 game system functions cpp include basi