gpt4 book ai didi

C++类重定义错误求助

转载 作者:太空宇宙 更新时间:2023-11-04 12:24:52 27 4
gpt4 key购买 nike

我收到如下错误:

FxMathFunctions.h: In function 'FxInt32 IMin(FxInt32, FxInt32)':

FxMathFunctions.h:13: error: redefinition of 'FxInt32 IMin(FxInt32, FxInt32)'

FxMathFunctions.h:15: error: 'FxInt32 IMin(FxInt32, FxInt32)' previously defined here

在 FxMathFunctions.h 中我有:

11: struct FxPoint2d;
12:
13: inline FxInt32 IMin(FxInt32 i1,FxInt32 i2)
14: {
15: if (i2 < i1) i1 = i2;
16: return i1;
17: }

FxInt32 在我包含的 header 中定义为:

typedef long                FxInt32;

如果它说 FxInt32 正在被重新定义,或者整个函数是否被重新定义,我无法根据错误来决定。

我该如何解决?

更新我在上面添加了行号。

最佳答案

意思是整个函数被定义了两次。

我的通灵调试能力告诉我,您以某种方式递归地包含了该 header ,而该 header 没有适当的防护措施来防止这种情况发生。因此,内联函数被定义了两次。

关于C++类重定义错误求助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3098931/

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