[UE4插件使用-问题合集-02] error C4458: declaration of 'ModuleIndex' hides class member 函数参数使用的参数名字与

Posted jfor-ue4

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[UE4插件使用-问题合集-02] error C4458: declaration of 'ModuleIndex' hides class member 函数参数使用的参数名字与相关的知识,希望对你有一定的参考价值。

error C4458 函数参数名与所在类的变量名重名

问题描述:技术图片

 

 

 

解决过程:

  1. 我这边报错的那行是宏定义,所以要找到宏定义处,是放到另一文件中的,可以看到这个宏定义是定义了函数的:

技术图片

 

 

  1. 可以看到这个函数形参有一个是"ModuleIndex",没错,就是它与类中某个变量同名的。类中的那个同名变量我这里就不找了,你们知道就行了。实际上这样的C++语法是没有问题的,内层作用域中与外层作用域中同名的变量会隐藏外层的同名变量,但可能同样是版本的原因,新版本的UE4(我这里是4.24)对于这种情况视为错误,不允许编译通过(有了解详细情况的可以留言告诉我)。

  2. 知道原因就好办了,我们只要更改这个函数的ModuleIndex形参名以及函数中使用到它的地方就好了(Agreement.ModuleIndex不用改)。我改成了"ModuleIndex1":

技术图片

 

 

结果:

新版本的UE4可能不允许嵌套作用域中的重名变量,会报error C4458,更改变量名即可。

以上是关于[UE4插件使用-问题合集-02] error C4458: declaration of 'ModuleIndex' hides class member 函数参数使用的参数名字与的主要内容,如果未能解决你的问题,请参考以下文章

UE4知识点合集2 - Native components are editable when declared as a FProperty警告

UE4知识点合集1 - AttachTo更新为AttachToComponent(TransformRules参数研究)

UE4知识点合集1 - AttachTo更新为AttachToComponent(TransformRules参数研究)

UE4读取脑电波MindWave插件(展示如何使用第三方库制作UE4插件)

Blender/UE4骨骼转换插件:Uefy v1.2.1 For UE4 BL 2.8+使用教程

VSCode常用插件合集