标题:这个错误如何修改?
取消只看楼主
hffjhhh
Rank: 1
等 级:新手上路
帖 子:127
专家分:7
注 册:2019-4-10
结帖率:90.38%
已结贴  问题点数:20 回复次数:0 
这个错误如何修改?
这行显示以下错误:
p->show();

[Error] passing 'const Stock' as 'this' argument of 'void Stock::show()' discards qualifiers [-fpermissive]

代码如下:
程序代码:
#include<iostream>
#include<string>
class Stock{
private:
    std::string co;
    double gat;
    int total;
public:
    Stock(const std::string &s,int i=0,double j=0.0);
    const Stock &val(const Stock &s)const;
    void show();
};
void Stock::show(){
    std::cout<<co<<std::endl<<total<<std::endl<<gat;
}
Stock::Stock(const std::string &s,int i,double j){
    co=s;
    total=i;
    gat=j;
}
const Stock &Stock::val(const Stock &s)const{
    if(s.total>total)
        return s;
        else
        return *this;
}

int main(){
    Stock stock1[4]={
        Stock("skg",4,7.7),
        Stock("skgjg",5,3.9),
        Stock("irgnj",33,5.7),
        Stock("eiur",4,5.7)
    };
    const Stock *p=&stock1[0];
    for(int i=1;i<4;i++){
        p=&p->val(stock1[1]);
    }
    p->show();
    return 0;
}
搜索更多相关主题的帖子: show total int std const 
2021-01-08 18:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-504576-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.357548 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved