UDK "Ошибка, доступ к члену _ в классе через выражение контекста требует явного 'Outer'" - PullRequest
1 голос
/ 16 марта 2010

Я получаю следующую ошибку в интерфейсе UDK при попытке сделать свой проект:

C: \ UDK \ UDK-2010-03 \ Development \ Src \ FixIt \ Classes \ ZInteraction.uc (58): ошибка, при доступе к члену GameUISceneClient из класса через выражение контекста требуется явное «внешнее»

Класс ZInteraction расширяется Interaction.

Строка 58: GetSceneClient().ConsoleCommand("KEYNAME"@Key);

В чем здесь проблема? Я все еще расследую, и я буду обновлять, как я узнаю больше.

edit: Попытка исправить линию как class'UIRoot'.static.GetSceneClient().ConsoleCommand("KEYNAME"@Key); - без изменений.

1 Ответ

1 голос
/ 16 марта 2010

Нашли!

Из сообщения на форуме, Изменения сценариев из UT3 :

При доступе к члену класса контейнера внутри класса теперь вам нужно использовать специальную переменную-член Outer. Это, по-видимому, помогает справиться с конфликтами имен.

Мне пришлось изменить код на следующее:

GetSceneClient().Outer.Outer.ConsoleCommand("KEYNAME"@Key);

В зависимости от того, какая функция дает вам эту ошибку, вам потребуется один или несколько наборов Outer.. Вы можете исследовать, чтобы узнать, сколько у вас глубоких слоев, или вы можете просто добавить по одному за раз, пока код не скомпилируется. Я выбрал последнее, потому что уже достаточно сложно ориентироваться в этом UnrealScript. :)

...