C++ 带有对象C+的fillVector+;
我有一个一流的球员和一流的球队 我想在类团队的构造函数中创建一个玩家向量。我写了一个名为fillVector的方法,witch创建所有玩家。我已经将方法fillVector添加到类团队中,如下所示。我认为没有必要让一流的球员上场 使用代码块编译程序时,出现以下错误: Team.cpp | 9 |对“Team::fillTeamVector(std::vector>&)”的未定义引用| |错误:ld返回1个退出状态| 这是Team.cpp代码:C++ 带有对象C+的fillVector+;,c++,vector,C++,Vector,我有一个一流的球员和一流的球队 我想在类团队的构造函数中创建一个玩家向量。我写了一个名为fillVector的方法,witch创建所有玩家。我已经将方法fillVector添加到类团队中,如下所示。我认为没有必要让一流的球员上场 使用代码块编译程序时,出现以下错误: Team.cpp | 9 |对“Team::fillTeamVector(std::vector>&)”的未定义引用| |错误:ld返回1个退出状态| 这是Team.cpp代码: #include "Team.h" #include
#include "Team.h"
#include <vector>
#include <iostream>
#include "Player.h"
Team::Team()
{
vector<Player> team;
fillTeamVector(team);
}
void fillTeamVector(vector<Player>& team){
cout << "How many players are in the team? " <<endl;
string name;
int teamSize,x,y,num,target_line;
cin >> teamSize;
for (int i=0 ; i<=teamSize ; i++){
cout << "Give player's name" << endl;
cin >> name;
cout << "Give player's number" << endl;
cin >> num;
cout << "Give player's x position" << endl;
cin >> x;
cout << "Give player's y position" << endl;
cin >> y;
cout << "Give player's target line" << endl;
cin >> target_line;
Player newPlayer(name,num,x,y,target_line);
team.push_back(newPlayer);
}
}
#include <iostream>
#include <stdio.h>
#include "Player.h"
#include "Team.h"
using namespace std;
int main()
{
Team team;
return 0;
}
#包括“Team.h”
#包括
#包括
#包括“Player.h”
团队::团队()
{
病媒小组;
fillTeamVector(团队);
}
无效fillTeamVector(vector和team){
您是否编写了一个名为fillTeamVector
的函数
这与构造函数调用的名为Team::fillTeamVector
的类方法不同。您编写了一个名为fillTeamVector
的函数
这与构造函数调用的名为Team::fillTeamVector
的类方法不同。您在Team.cpp中将“fillTeamVector”定义为自由函数,而在.h中它是成员函数。
因此团队的fillTeamVector方法不存在,但被调用,因此出现错误。
在team.cpp中,替换以下内容:
无效fillTeamVector(vector和team)
据此:
void Team::fillTeamVector(vector和Team)您已经在Team.cpp中将“fillTeamVector”定义为一个自由函数,而在.h中它是一个成员函数。
因此团队的fillTeamVector方法不存在,但被调用,因此出现错误。
在team.cpp中,替换以下内容:
无效fillTeamVector(vector和team)
据此:
void Team::fillTeamVector(vector和Team)您已经声明了函数:
void fillTeamVector(vector<Player>& team){ // ...
void fillTeamVector(vector和team){/。。。
但是您忘记了“类范围”,因为该函数是成员函数,所以您必须添加:
void Team::fillTeamVector(vector<Player>& team){ // ...
void团队::fillTeamVector(向量和团队){/。。。
这正是您为构造函数(Team::Team()
)所做的工作。您已经声明了函数:
void fillTeamVector(vector<Player>& team){ // ...
void fillTeamVector(vector和team){/。。。
但是您忘记了“类范围”,因为该函数是成员函数,所以您必须添加:
void Team::fillTeamVector(vector<Player>& team){ // ...
void团队::fillTeamVector(向量和团队){/。。。
您为构造函数(Team::Team()
)所做的一切。错误消息非常清楚,它指的是Team::fillTeamVector(),您忘记在类作用域下提供定义。请发布一个。您发布的大部分内容完全无关。错误消息非常清楚,它指的是Team::fillTeamVector()你忘了在类范围下提供定义。请发布一个。你发布的大部分内容都是完全无关的。来吧。我们有一个重复!来吧。我们有一个重复!你的回答解决了我的问题。我很感激。你的回答解决了我的问题。我很感激。你的回答解决了我的问题。我很感激。你的回答解决了我的问题。我很感激布莱姆,我很感激。