【发布时间】:2015-09-15 08:27:25
【问题描述】:
我不知道我是否遗漏了什么,但我似乎无法弄清楚如何完成这项工作,也无法在网上找到答案。
假设我有两个类,A 类和 B 类。(存储在单独的文件中)
A 类有一个函数 setName(),它在 A 类对象中设置一个变量。
B 类有一个函数 setOtherName(),它设置 A 类对象名称的值。
所以我这样设置 setOtherName():
void setOtherName(ClassA& cla)
{
*cla.setName("foobar");
}
那么我的主脚本如下所示:
Class A burger;
Class B fries;
fries.setOtherName(*burger);
这在我的原始脚本中不起作用,我收到以下错误:
error: no matching function for call to 'ClassB::setOtherName(ClassA*&)
感谢任何帮助! (如有任何混淆,请见谅)
实际代码: main.cpp:
#include <iostream>
#include "quests.h"
#include "player.h"
#include <string>
#include <cstdlib>
using namespace std;
int main()
{
quests GameQuests;
player Player;
GameQuests.quest1(Player);
Player.main();
return 0;
}
quests.cpp:
#include "quests.h"
#include "player.h"
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
void quests::quest1(player& charact){
cout << "By the way, what was your name?" << endl;
person1=4;
system("pause");
charact->setName();
}
【问题讨论】:
-
你能把整个代码贴出来吗:)
-
@KrysselTillada 这是 4 个文件,还有很多文本.. 你确定吗?
-
注意MCVE中的M。
-
链接页面的说明是不是不清楚?