当前位置: 首页 > 知识库问答 >
问题:

如何删除c中的这个fpermissive错误?

钱志义
2023-03-14

将“const IntBag”作为“this”参数传递将丢弃限定符[-fppermissive]

这是我的代码:''C'**

> int IntBag::operator[](int index){     //get array item
>         return array_[index];
>     }
>     
>     IntBag::IntBag (const IntBag& a){        //copy constructr
>       size=a.getSize();
>       for(int i=0; i<size; i++){
>         int val=a[i];
>         array_[i]=val;
>       }
>     }
>     
>     int IntBag::getSize()const{    //get the size of the array
>       return size;
>     }
>     
>     IntBag& IntBag::operator = (const IntBag& a){
>       for(int i= 0; i< a.getSize(); i++) {
>         array_[i]=a[i];
>       }
>     }

**

我的错误是:$g intbag。cpp intbag。cpp:复制构造函数的IntBag::IntBag(const IntBag)

在此处输入图像描述

共有1个答案

宫坚
2023-03-14

如何删除c中的这个fpermissive错误?

不要对常量值调用非常量限定成员函数。在这种情况下,非常量限定成员函数是下标运算符重载,常量值是参数const IntBag

鉴于下标运算符重载既不会修改对象的状态,也不会返回非常量引用,因此无需对其进行常量限定。因此,一个简单的解决方案是声明下标运算符const。

 类似资料:
  • 如何删除这个/dev/sdc5 ?

  • 如何从没有主键的表中删除满足几个条件的行?(实际上主键由每一列组成) 经过多次尝试后,我有了一段代码,它首先创建一个临时表,在其中插入我想删除的行,最后我尝试从原始表中删除那些与临时表相比符合条件的行。 但是它给了我一个关于不能链接几个部分标识符#temp.idCarga的错误 也许这很容易,但是我已经尝试了这么多时间,我无法正常集中注意力。

  • 问题内容: 以下代码如何删除窗口边框? 到目前为止,我已经了解到Atom是类似于Window和Display的一种标识符,但是我不知道Hints结构或“ _MOTIF_WM_HINTS”的来源。谁能为我解释所有这些代码?预先感谢,ell。 问题答案: 很难通过某种看起来“正式”的标准来实现,但是_MOTIF_WM_HINTS属性似乎确实来自… Motif工具包(好吧,您猜到了:-))。请参阅Mot

  • 目前,我正试图在Angular Form中创建一个动态验证,我发现了这个问题。 将错误添加到字段 删除字段中的错误 我的问题是如何删除字段中的特定错误?示例我有多个,我只想删除错误

  • 问题内容: 我试图一次从几个表中删除。我做了一些研究,并提出了 但是,我收到此错误 未捕获的Database_Exception [1064]:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在’p,pa … 附近使用… 我以前从未做过跨表删除操作,所以我现在还没有经验,并且一直坚持下去! 我究竟做错了什么? 问题答案: 在语句中使用a 。 另外,您可以使用…

  • 我正在读普林斯顿大学的Sedgewick和Wayne写的《算法》一书,它为BSTMaps提供了一种BST删除方法。 原来是一个著名的算法,叫做急切希伯德删除,也在这个环节中呈现。 由于代码是用Java编写的,所以我尝试自己实现它。但由于引用问题,它会导致无限循环。如果x指向后续节点,并且x.left被更新,那么deleteMin方法不仅会删除原始节点,还会通过新的左分支删除树的另一半的最小值。 这