У меня проблемы с очень простой программой. Он бросает ошибки:C++ - Нет подходящего конструктора по умолчанию
error C2512: 'Player' : no appropriate default constructor available
IntelliSense: no default constructor exists for class "Player"
У меня есть ощущение, что это что-то делать с объявления класса игрока в качестве частной переменной в Game.h, но я не могу понять, почему. Любая помощь приветствуется.
Game.h
#pragma once
#include "Player.h"
class Game
{
public:
Game(void);
void start(void);
~Game(void);
private:
Player player;
};
Game.cpp
#include "Game.h"
Game::Game(void)
{
Player p(100);
player = p;
}
void Game::start()
{
...
}
Game::~Game(void)
{
}
Player.h
#pragma once
class Player
{
public:
Player(int);
~Player(void);
private:
int wallet;
};
Player.cpp
#include "Player.h"
#include <iostream>
using namespace std;
Player::Player(int walletAmount)
{
wallet = walletAmount;
}
Player::~Player(void)
{
}
Проблема не имеет ничего общего с тем фактом, что ваша переменная-член 'Player' объявлена' private'. Он имеет все, что связано с тем, как вы инициализируете его в конструкторе 'Game'. До сих пор вы получили несколько отличных ответов, которые объясняют это дальше. –