我是靠谱客的博主 专一机器猫,最近开发中收集的这篇文章主要介绍【C++】编译报错,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

C++11以后,语言的新特性增加得越来越多,在实际使用过程中这些特性容易将错误提前在编译器暴露出来,记录一下C++程序编译过程中,出现的那些错误:

【错误1】无法从"const _Ty2"转换为"value_type&"
使用了const_iterator,并且需要修改值;将迭代器const_iterator修改为iterator即可;

【错误2】 std::pair<key_type, value_type> std::make_pair<key_type, value_type>(_Ty && _Ty2 &&) noexcept(expr):无法将参数1从“const key_type”转换为“_Ty1 &&”

std::make_pair<key_type, value_type>(key, value_type());
// 错误
std::pair<key_type, value_type>(key, value_type());
// 正确

【错误3】二进制类型“[”:没有找到接受“const std::unordered_map<>”类型左操作数的运算符(或没有可接受的转换);

void filtered(const int &key) const noexcept
// const表明该函数不能对类的成员变量进行修改
{
//hash_map[key];
错误
hash_map.at(key);
}

【错误4】 二进制“<”:“const_Ty”不定义该运算符或到预定义运算符可接收的类型转换

std::set<list_iterator> filter(const int &key) const noexcept
{
std::set<list_iterator> res;
......
res.insert(hash_map[key]);
// 错误,没有重载list_iterator的operator < 运算符,编译报错
}

最后

以上就是专一机器猫为你收集整理的【C++】编译报错的全部内容,希望文章能够帮你解决【C++】编译报错所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部