| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6425 人关注过本帖
标题:error C2659: '=' : overloaded function as left operand怎么解决啊,新手 ...
只看楼主 加入收藏
_莫荣。
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-11-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
error C2659: '=' : overloaded function as left operand怎么解决啊,新手求助
class Human  
{
public:
    string work;
    Human();
    ~Human();
    virtual string work() = 0;

};

class Student:public Human
{
public:
    Student(string a);
    string work();
};

//--------------------------------------------------
Student::Student(string a)
{
    work = a;
}

大概情况就是这样的情况,为啥不能用‘=’呀。。。
搜索更多相关主题的帖子: function public 
2012-12-12 21:51
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:10 
你的work 是一个函数啊,
class Student:public Human
 {
 public:
     Student(string a);
     string work; //string work();
 };
 

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-12 21:58
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
收藏
得分:5 
因为你的work不知道是函数还是变量。。。

有心者,千方百计;无心者,千难万难。
2012-12-12 21:59
_莫荣。
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-11-16
收藏
得分:0 
函数不是应该后面有()么?就像这样work()。
又为什么我在那个work前面加上了 string 之后就能编译过去了呢。。。。
实在弄不懂诶。。。
2012-12-12 22:05
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
如果你要什么work是函数就应该work();
不过不可以吧函数赋值给变量啊,


我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-12 22:11
深藏依旧
Rank: 2
等 级:论坛游民
帖 子:45
专家分:93
注 册:2012-12-8
收藏
得分:5 
在work = a;前加string 就是类string定义一个对象 work 然后初始化;你的意思应该是给函数work传递参数吧
这样 = 就应该需要重载吧

厚积薄发
2012-12-12 22:13
_莫荣。
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-11-16
收藏
得分:0 
大概。。。懂了。。多谢~
那个 我还需要请教一下。。

    virtual string work() = 0;

这一句编译的时候给了error C2040: 'work' : 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > (void)' differs in levels of indirection from 'class std::basic_string<char,struct std::char_traits<char>,cl
这么长一个错误。。我是按照教材上弄的呀。。帮帮我看下呗
2012-12-12 22:19
_莫荣。
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-11-16
收藏
得分:0 
好吧 多谢了。。我结贴再开一个吧。。这样问不好问。。。
2012-12-12 22:32
快速回复:error C2659: '=' : overloaded function as left operand怎么解决啊, ...
数据加载中...
 
   



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

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