Когда я пытаюсь написать этот класс, он не видит его как класс и не может разрешить класс Card. Что я могу сделать с этим?
#ifndef HAND_HPP
#define HAND_HPP
#include <iosfwd>
#include <vector>
#include "cards.hpp"
class Hand { //it doesn't mark it as class
private:
int maxSize;
std::vector<Card> hand; //Cannot resolve variable 'Card'
public:
***
};#endif //HAND_HPP
Теперь я могу загружать изображения, так что это выглядит так.
и cards.hpp (где объявляется карта) содержит в том числе hand.hpp.
Вам нужно #include
заголовочный файл, содержащий объявление класса Card
или поставить декларацию Card
класс выше Hand
, Компилятор должен знать полное определение (не реализацию) Card
класс, и, следовательно, любое предварительное объявление не успокоит компилятор.