我正在创建一个二进制文件,在其中插入一对int类型和一个结构,并看到下面给出的错误.请提出建议



错误:

/opt/x11r6/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.2/../../include/g++-3/stl_pair.h:在方法"pair::pair(const char(&)[10],const stroke_plan::contact_details&)"中:/opt/x11r6/lib/gcc lib/sparc-sun-solaris2.5.1/2.95.2/../../include/g++-3/stl_pir.h:68:从`make_pair(const char(&)[10],const stroke_plan::contact_details&)'实例化sonu.cpp:142:从这里实例化/opt/x11r6/lib/gcc lib/sparc-sun-solaris2.5.1/2.95.2/../../include/g++-3/stl_pir.h:44:将"const char[10]"分配给"char[10]'时的不兼容类型/opt/x11r6/lib/gcc lib/sparc-sun-solaris2.5.1/2.95.2/../../../include/g++-3/stl_pair.h:在方法"pair::pair(const pair:)"中:sonu.cpp:142:从这里实例化/opt/x11r6/lib/gcc lib/sparc-sun-solaris2.5.1/2.95.2/../../include/g++-3/stl_pair.h:48:从"const char*"分配给"char*const"将丢弃限定符
if(it == my_map.end())
{
    log_file<<"updateFile()::updating new Customer with : "<<UID<<":"<<temp.c_name<<" : "<<temp.j_count<<endl;
    my_map.insert(std::make_pair(UID,temp));
    myfile.write(UID,sizeof(UID));//<<UID<<":"<<c_name<<endl;
    myfile.write(reinterpret_cast<char *>(&temp),sizeof(temp));
}

这很难回答,因为您没有发布任何源代码。但您似乎试图使用char数组作为映射的键。这是行不通的。请改用std::string

std::map<std::string,journey_plan::contact_details>

编辑:您可以使用char数组作为键,遵循以下问题:在std::map

中使用char*作为键

相关内容

最新更新