为了账号安全,请及时绑定邮箱和手机立即绑定

error C2659: “=”: 作为左操作数 ?

//Person.h

#ifndef PERSON_H
#define PERSON_H

#include <string>
using namespace std;

class Person
{
public:
    Person(string name);
    virtual void work()=0;//纯虚函数
    virtual ~Person(){}
private:
    string m_strName;
};

#endif

//Worker.h

#ifndef WORKER_H
#define WOEKER_H

#include "Person.h"
class Worker:public Person
{
public:
    Worker(string name,int age);
    //virtual void work();
private:
    int m_iAge();
};

#endif

//Worker.cpp

#include <iostream>
#include "Worker.h"
using namespace std;

Worker::Worker(string name,int age):Person(name)
{
    m_iAge = age;//错误1
}

//void Worker::work()
//{
//    cout<<"work()"<<endl;
//}


错误    1    error C2659: “=”: 作为左操作数    c:\users\administrator\documents\visual studio 2012\projects\consoleapplication39\consoleapplication39\worker.cpp    7    1    ConsoleApplication39


正在回答

1 回答

private:
    int m_iAge();

你定义的是一个成员函数;调用的时候却当成成员变量使用。

应该把那个括号去掉就可以了。 

private:
    int m_iAge;

2 回复 有任何疑惑可以回复我~
#1

慕粉3168680 提问者

谢谢!
2017-04-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之多态篇
  • 参与学习       66236    人
  • 解答问题       314    个

本教程将带领大家体会面向对象三大特性中的多态特性

进入课程

error C2659: “=”: 作为左操作数 ?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信