qualifiers专题

c++ binding reference of type ‘set ’ to ‘const std::set‘ discards qualifiers

这个错误信息表明你在尝试将一个const std::setstd::string对象绑定到一个非const引用,这在C++中是不允许的。const对象只能绑定到const引用。 为了更好地理解这个问题,让我们来看看一个示例代码以及如何修复它。 错误示例 #include <iostream>#include <set>#include <string>void printSet(std:

'const QString' as 'this' argument of 'QString QString::operator=(const char*)' discards qualifiers

在Qt中QList,Qvector一般获取元素都是通过at(index)来获取,但是at()的返回是一个const & 常引用,也就是元素不支持改变。如下: 是不是元素就不可以改变了?c++中的list容器可不是这样的。Qt提供了一个replace(),函数来替换元素。 at()可能是问了数据的安全性把。 当然不用replace() 也是可以改变的:见下图: c++中可以通过,[]