問題描述:
解決過程:
我這邊報錯的那行是宏定義,所以要找到宏定義處,是放到另一文件中的,可以看到這個宏定義是定義了函數的:
可以看到這個函數形參有一個是"ModuleIndex",沒錯,就是它與類中某個變量同名的。類中的那個同名變量我這里就不找了,你們知道就行了。實際上這樣的C++語法是沒有問題的,內層作用域中與外層作用域中同名的變量會隱藏外層的同名變量,但可能同樣是版本的原因,新版本的UE4(我這里是4.24)對於這種情況視為錯誤,不允許編譯通過(有了解詳細情況的可以留言告訴我)。
知道原因就好辦了,我們只要更改這個函數的ModuleIndex形參名以及函數中使用到它的地方就好了(Agreement.ModuleIndex不用改)。我改成了"ModuleIndex1":
結果: