gpt4 book ai didi

c++ - 类内类的访问方法

转载 作者:行者123 更新时间:2023-11-27 23:20:34 24 4
gpt4 key购买 nike

我正在尝试将一些代码从旧版本的程序移植到新版本,但有些东西已经移动了。有一个名为“Game”的类,它曾经包含一个名为 ButtonNameToIndex 的方法,但是在较新的版本中,现在在 Game 类中有一个名为“InputScheme”的类,并且 ButtonNameToIndex 在 InputScheme 中声明

游戏.h:

class Game
{
public:
const char * m_szName;
const Style * const* m_apStyles;
bool m_bCountNotesSeparately;
bool m_bAllowHopos;
InputScheme m_InputScheme;
}

输入方案.h:

class InputScheme
{
public:
const char *m_szName;
int m_iButtonsPerController;
struct GameButtonInfo
{
const char *m_szName;
GameButton m_SecondaryMenuButton;
};

GameButtonInfo m_GameButtonInfo[NUM_GameButton];
const InputMapping *m_Maps;

GameButton ButtonNameToIndex( const RString &sButtonName ) const;
}

我尝试移植的代码如下所示:

FOREACH_ENUM( GameButton, pGame->ButtonNameToIndex("Operator"), gb )
ini.SetValue( sPlayerKey, GameButtonToString(pGame, gb),
FromMapping(mapping.m_iGameLights[gc][gb]) );

现在我不知道如何访问 ButtonNameToIndex,因为它已移至新类。

最佳答案

由于 Game 类有一个类型为 InputScheme 的公共(public)成员变量,您可以替换对

的任何调用
pGame->ButtonNameToIndex("Operator")

pGame->m_InputScheme.ButtonNameToIndex("Operator")

我们使用 -> 来访问 Game 的成员,因为我们是通过指针访问的(我假设),因为 m_InputScheme 是一个值(不是指针)我们使用 . 运算符访问它的成员函数

关于c++ - 类内类的访问方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13288715/

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