相关疑难解决方法(0)

为什么在"形成对引用类型的引用"映射中出现错误?

如果我需要使用引用,那么替代方法是什么,而我传递的数据我无法更改类型,因此我无法真正存储指向它的指针?

码:

    #include <map>     
    #include<iostream>
    #include<string>     

    using namespace std;

    int main()
    {
       string test;
       pair<string, string> p=pair<string, string>("Foo","Bar");
       map<pair<string, string>, string&> m;
       m[make_pair("aa","bb")]=test;

       return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误:

$ g ++ MapPair.cpp /usr/include/c++/3.2.3/bits/stl_map.h:在std :: string&'MapPair.cpp的实例化中 :在函数std :: map,std :: string&,std :: less >, std :: allocator, std :: string&>>>&[std :: pair]'operator /usr/include/c++/3.2.3/bits/stl_pair.h:在全局范围:/ usr/include/c ++ /3.2.3/bits/stl_pair.h:在std :: _ Rb_tree_node的 实例化中std::map<std::pair<std::string, std::string>, std::string&, std::less<std::pair<std::string, std::string> >, std::allocator<std::pair<const std::pair<std::string, std::string>, std::string&> > >': MapPair.cpp:15:
instantiated from here /usr/include/c++/3.2.3/bits/stl_map.h:221: forming reference to reference type …

c++ stl

22
推荐指数
3
解决办法
2万
查看次数

标签 统计

c++ ×1

stl ×1