gpt4 book ai didi

c++ - 重新定义错误

转载 作者:太空狗 更新时间:2023-10-29 23:42:39 26 4
gpt4 key购买 nike

我正在将用于死锁检测的 MFC 应用程序转换为简单控制台应用程序。在这个过程中,我发现很多错误,比如

错误 C2365:“CmdLockMutex”:重新定义;先前的定义是“枚举数”

我无法消除这个错误。如果有人可以在这方面帮助我,请提供帮助。

最佳答案

好的 4 年后 OP 这是你的答案......

问题:使用无范围枚举,您可能会遇到这种情况:

enum Suit { Diamonds, Hearts, Clubs, Spades };
enum Tools { Picks, Shovels, Spades, Hammers }; // error C2365: 'Spades' :
// redefinition; previous definition was 'enumerator'

解决方案:

Scoped enums solve this problem:
enum class Suit { Diamonds, Hearts, Clubs, Spades };
enum class Tools { Picks, Shovels, Spades, Hammers };

来源: MSDN

Use of the keyword class or struct in the enum definition indicates that each enum type is unique and not comparable to other enum types. In addition to this advantage, you can also forward-declare them without specifying an underlying type (as you do with unscoped enums if you intend to forward-declare).

关于c++ - 重新定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3023549/

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