码迷,mamicode.com
首页 > 其他好文 > 详细

[UE4插件使用-问题合集-02] error C4458: declaration of 'ModuleIndex' hides class member 函数参数使用的参数名字与所在类中的某个变量名字重名了

时间:2020-04-08 11:49:06      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:参数   index   lock   作用域   使用   形参   报错   bsp   问题   

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 函数参数使用的参数名字与所在类中的某个变量名字重名了

标签:参数   index   lock   作用域   使用   形参   报错   bsp   问题   

原文地址:https://www.cnblogs.com/JFor-UE4/p/12658725.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!