Я пытаюсь создать объект "Player" внутри "PlayerManager" и получаю сообщение об ошибке в VS2010:
Error 1 error C2512: 'Player::Player' : no appropriate default constructor available c:\program files (x86)\microsoft visual studio 10.0\vc\include\memory 631 1 Server
Player.h:
#ifndef _PLAYER_H
#define _PLAYER_H
#include <iostream>
#include <string>
using namespace std;
class Player
{
public:
Player(const string &name);
~Player(void);
private:
string name_;
};
#endif
Вот конструктор в Player.cpp:
Player::Player(const string &name)
{
}
PlayerManager.h:
'#ifndef _PLAYERMANAGER_H
#define _PLAYERMANAGER_H
#include <string>
#include <vector>
#include <iostream>
#include "Player.h"
using namespace std;
class PlayerManager
{
public:
PlayerManager(void);
~PlayerManager(void);
private:
vector<Player> players;
};
#endif'
Здесь я создаю объект в PlayerManager.cpp:
PlayerManager::PlayerManager(void)
{
Player test("Hello");
players.resize(1000);
for(int i=0; i < 960; i++){
players.push_back(test);
}
}
Я не понимаю, почему игнорируется строка «Hello», я пытался создать строковый объект, но выдает ту же ошибку.
Я также пытался без добавления const & inконструктор, но выдает ту же ошибку.
Буду признателен за любую помощь, часами ищите ответ.Извиняюсь за неправильную разметку, так как я впервые задаю вопрос.