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

有报错[Error] no matching function for call to 'Student::getGender(const char [3])',源代码已粘贴,求助

  1. #include <iostream>

  2. #include<stdlib.h>

  3. #include<string>


  4. using namespace std; 


  5. class Student

  6. {

  7. public:

  8. void setName(string _name)

  9. {

  10. m_strName=_name;

  11. }

  12. string getName()

  13. {

  14. return m_strName;

  15. }

  16. void setGender(string _gender)

  17. {

  18. m_strGender=_gender;

  19. }

  20. string getGender()

  21. {

  22. return m_strGender;

  23. }

  24. int getScore()

  25. {

  26. return m_iScore;

  27. }

  28. void initScore()

  29. {

  30. m_iScore=0;

  31. }

  32. void study(int _score)

  33. {

  34. m_iScore+=_score;

  35. }

  36. private:

  37. string m_strName;

  38. string m_strGender;

  39. int m_iScore;

  40. };

  41. int main(void)

  42. {

  43. Student stu;

  44. stu.initScore();

  45. stu.setName("aaaaaa");

  46. stu.getGender("男");

  47. stu.study(5);

  48. stu.study(2);

  49. cout<<stu.getName()<<""<<stu.getGender()<<""<<stu.getScore()<< endl;

  50. system("pause");

  51. return 0;

请帮忙看下哪里出错了,感谢!!

E:\newme\new.cpp In function 'int main()':

48 20 E:\newme\new.cpp [Error] no matching function for call to 'Student::getGender(const char [3])'

48 20 E:\newme\new.cpp [Note] candidate is:

22 9 E:\newme\new.cpp [Note] std::string Student::getGender()

22 9 E:\newme\new.cpp [Note] candidate expects 0 arguments, 1 provided


正在回答

2 回答

#include "pch.h"

#include <iostream>

#include <string>

#include<string>

using namespace std;


class Student 

{

public:

void setName(string _name)

{

m_strName=_name;

}

string getName() 

{

return m_strName;

}

void setGender(string gender) 

{

m_strGender = gender;

}

string getGender()

{

return m_strGender;

}

int getscore() 

{

return m_iScore;

}

void initscore() 

{

m_iScore = 0;

}

void initstudy(int _score)

{

m_iScore += _score;

}

private:

string m_strName;

string m_strGender;

int m_iScore;

};


int main()

{

Student stu;

stu.initscore();

stu.initstudy(5);

stu.initstudy(3);

stu.setName("zhanglin");

stu.setGender("boy");

cout << stu.getName() << "," << stu.getGender() << "," << stu.getscore()<< endl; 

system("pause");

return 0;

}


0 回复 有任何疑惑可以回复我~

第48行 应该是stu.setGender("男"); 调用函数写入性别而不是读

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(上)
  • 参与学习       103410    人
  • 解答问题       701    个

封装--面向对象的基石,本教程力求帮助小伙伴们即学即会

进入课程

有报错[Error] no matching function for call to 'Student::getGender(const char [3])',源代码已粘贴,求助

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