gpt4 book ai didi

C++ 如何声明映射变量

转载 作者:搜寻专家 更新时间:2023-10-31 00:10:43 26 4
gpt4 key购买 nike

我是 C++ 新手,在头文件中声明映射变量时遇到问题。在各种帖子中,我看到人们包括 #include <map>它解决了他们的任何问题,所以我将其包含在文件中。

#include <map>

class Game
{

typedef void (Game::*InputResponse)( void );

public:

Game();

private:

std::map <char[], InputResponse> inputResponseMap;
};

当我编译和构建时,它指向 #include "Game.h"该类的 .cpp 文件。 In file included from Game.cpp:8:删除 map 类型变量 inputResponseMap解决了问题,所以我认为这就是问题所在。我做错了什么?

最佳答案

std::map <char[], InputResponse> inputResponseMap;

char[]其中一部分不是有效(完整)的 C++ 类型。

如果您的意图是将 map 的键设为文本字符串,则应使用 std::string :

std::map <std::string, InputResponse> inputResponseMap;

当然还有 #include <string> , 为此。

关于C++ 如何声明映射变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36973103/

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