gpt4 book ai didi

C++ unordered_map 导致编译时错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:31:14 26 4
gpt4 key购买 nike

我有以下内容:

#include<iostream>
#include<unordered_map>
#include<tuple>

using namespace std;

class CTest {
// Properties
public:
unordered_map<const string, tuple<int, int> > Layout;
// Methods
public:
CTest ();
~CTest ();
};

CTest::CTest () {
Layout["XYZ"] = make_tuple (0, 1);
}

CTest::~CTest () {
// Do nothing
}

int main (int argc, char *argv[]) {
CTest Test;
return 0;
}

编译这个简单的程序会出现以下错误:

error C2678: binary '==' : no operator found which takes a left-hand operand of type 'const std::string' (or there is no acceptable conversion)

我在 Windows 7 中使用 Visual Studio 2010 Professional。

最佳答案

除了改变Layout到:

unordered_map<string, tuple<int, int> > Layout;

如 Johan 和 Benjamin 所述,您还需要 #include <string> .

请注意,我不明白为什么要更改为 Layout是必需的,即使 const是多余的。

关于C++ unordered_map 导致编译时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8885595/

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