C++ 字典C+中的键不断被替换+;

C++ 字典C+中的键不断被替换+;,c++,dictionary,C++,Dictionary,我试图在C++中创建一个类的有趣的类,类似于Python中的一个类,在这里你可以指定一个键和一个值(在这种情况下,它可能是任何类型的,包括自定义类)。 不断失败,我的密钥每次都会与集合一起被重新创建。你认为缩进意味着一个不存在的代码结构,这是一个典型的错误 if ((x + y) < word.length()) std::cout << "ADDING " << word[x+y] << std::endl; m

我试图在C++中创建一个类的有趣的类,类似于Python中的一个类,在这里你可以指定一个键和一个值(在这种情况下,它可能是任何类型的,包括自定义类)。
不断失败,我的密钥每次都会与集合一起被重新创建。

你认为缩进意味着一个不存在的代码结构,这是一个典型的错误

    if ((x + y) < word.length())
        std::cout << "ADDING " << word[x+y] << std::endl;
        map[word[x]].insert(word[(x + y)]);
if((x+y)std::能不能像往常一样(而且是必需的)?我特意做了那个,只是想看看它是否会添加字母(它确实添加了)。它仍然不能解决将集合重置为新集合的问题。所以你甚至没有费心发布代表你问题的代码?你宁愿人们被你不关心的代码中的问题分散注意力?嘘!请参考以下有关MCVE的问题的建议。仔细阅读链接。我实际上发布了导致问题的函数中几乎所有的代码。我也注意到了问题发生的地方。另外,如果我将整个代码发布到这个问题上,您仍然无法运行它,因为它连接到一堆其他相互依赖的自定义类。我唯一缺少的代码行就是我的代码的参数和返回语句。显然,您没有费心阅读链接,因为您不理解MCVE是什么。这并不意味着发布所有代码。这意味着您通过删除与问题无关的代码,努力提供尽可能小的代码样本来展示您的实际问题。在生成这样一个代码示例的过程中,您可能会听到“啊哈!”的声音,但如果您不这样做,其他人就有机会帮助您。但这一切都是从你努力孤立问题开始的,而不是像你想象的那样,其他人努力费力地阅读你无关的代码;在阅读了您的定义之后,我发布了一小部分代码,这些代码应该能够为问题提供足够连贯的图片。我不认为这是多余的。事实上,代码越少,人们可能会要求更多的代码来了解整个情况。
if (!map.has_key(word[x]))
    if ((x + y) < word.length())
        std::cout << "ADDING " << word[x+y] << std::endl;
        map[word[x]].insert(word[(x + y)]);