Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在C+中使用无序"映射将整数转换为字符+;_C++ - Fatal编程技术网

C++ 在C+中使用无序"映射将整数转换为字符+;

C++ 在C+中使用无序"映射将整数转换为字符+;,c++,C++,我不确定我是否完全理解哈希表/无序映射。当我执行以下操作时,代码编译并正常工作: #include <tr1/unordered_map> int main() { tr1::unordered_map<string, int> base; string string1; int integer1; base["A"] = 0; string1 = "A"; integer1 = base[string1];

我不确定我是否完全理解哈希表/无序映射。当我执行以下操作时,代码编译并正常工作:

#include <tr1/unordered_map>

int main() {
    tr1::unordered_map<string, int> base;
    string string1;
    int integer1;

    base["A"] = 0;

    string1 = "A";
    integer1 = base[string1];
    cout << integer1 << endl;
    return 0;
}
#包括
int main(){
tr1::无序的地图库;
弦1;
整数1;
基数[“A”]=0;
string1=“A”;
整数1=基[string1];

CUT

下面的编译和工作都很好,Visual C++ 10和MinGW g +4.4.1:< /P>

#include <iostream>
#include <unordered_map>

int main()
{
    using std::unordered_map;
    using std::cout;  using std::endl;

    unordered_map<int, char> base;
    char char1;
    int integer1;

    base[1] = 'A';

    integer1 = 1;
    char1 = base[integer1];
    cout << char1 << endl;
    return 0;
}
#包括
#包括
int main()
{
使用std::无序_图;
使用std::cout;使用std::endl;
无序的地图库;
char-char1;
整数1;
基[1]=“A”;
整数1=1;
char1=基[integer1];

第二个代码段有几行的修复程序,可以用gcc编译。请看。您使用的是哪种编译器?@dirkgently我使用的是g++4.2.1,也许我应该更新一下?考虑到gcc发布的4.7版本(具有出色的C++11支持),这一版本已经很旧了。这可能是实现中的一个错误。所以,是的,我想你需要升级。另外,如果你在苹果上,这可能比实际的GCC 4.2.1稍晚一点!@dirkgenty我在苹果上。升级到苹果“支持”的版本后有什么问题吗?我不能说,我已经有一段时间没有接触过苹果了。但据我所知,两者都保留(现有的和新的)应该相当容易。
#include <iostream>
#include <unordered_map>

int main()
{
    using std::unordered_map;
    using std::cout;  using std::endl;

    unordered_map<int, char> base;
    char char1;
    int integer1;

    base[1] = 'A';

    integer1 = 1;
    char1 = base[integer1];
    cout << char1 << endl;
    return 0;
}