gpt4 book ai didi

c++ - 错误:找不到 std::multimap 的匹配项

转载 作者:行者123 更新时间:2023-11-28 00:44:18 25 4
gpt4 key购买 nike

我正在尝试使用编译器 Sun C++ 5.9 SunOS_sparc Patch 124863-01 在 SUN 服务器上编译 C++ 应用程序。编译时出现以下错误

 Error: Could not find a match for std::multimap<std::string, OutputNamespace::FUPInfo, std::less<std::string>, std::allocator<std::pair<const std::string, OutputNamespace::FUPInfo>>>::insert(std::pair<std::string, OutputNamespace::FUPInfo>) needed in operator<<(std::ostream &, InvoiceOutput&).

这是与编译器相关的问题吗?您知道如何解决吗?提前致谢

问候

最佳答案

这是 Sun 编译器中的一个缺陷,以保持与其原始标准库(缺少很多功能)的向后 ABI 兼容性。它希望 insert 对是添加到键中的映射的内部值类型(使用 const),而不是 actual 键类型您已在 multimap 声明中请求。例如以下编译:

#include <map>
#include <string>

int main()
{
std::multimap<std::string, int> mapperizer;

mapperizer.insert(std::pair<const std::string, int>(std::string("Foo"), 42));
}

此外,原始版本将使用 STLport4(命令行参数 -library=STLport4)成功编译。

关于c++ - 错误:找不到 std::multimap 的匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17154155/

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