Я пишу программу для класса, в которой мне нужно создать карточную игру, в которой нужно подобрать пары карт. Он использует графический интерфейс, написанный на Qt, предоставленный профессором. У меня есть файл заголовка, содержащий класс CardDeck, который имитирует колоду карт. Я включил этот файл заголовка в основной файл .cpp, однако всякий раз, когда я пытаюсь вызвать какие-либо функции-члены этого класса, компилятор печатает
неопределенную ссылку на `CardDeck::(member function)'
У меня есть файл .cpp с именем CardDeck.cpp, который определяет функции-члены, находящиеся в проекте папку, но она может скомпилироваться неправильно или что-то в этом роде. Я довольно неопытен, поэтому не уверен. Я использую компилятор MinGW с IDE NetBeans.
main.cpp:
#include "CardDeck.h"
using namespace std;
// Declare any global variables (your deck object) here:
CardDeck gdeck(9, 14, 2);
void shuffleCards(){
gdeck.ShuffleDeck();
}
CardDeck.h:
#ifndef CARDDECK_H
#define CARDDECK_H
#include "PlayingCard.h"
#include
class CardDeck {
public:
CardDeck();
CardDeck(int, int, int);
void ShuffleDeck();
void DisplayXCards(int);
void DisplayContents() const;
private:
std::vector deck;
int begin;
int end;
int number_each;
};
#endif /* CARDDECK_H */
CardDeck.cpp:
#include
#include
#include
#include
#include
#include "PlayingCard.h"
#include "CardDeck.h"
using namespace std;
CardDeck::CardDeck(){
begin = 2;
end = 14;
}
CardDeck::CardDeck(int b, int e, int num_each){
begin = b;
end = e;
number_each = num_each;
char shapes[4] = {'H', 'S', 'C', 'D'};
for(int k=0; k
Подробнее здесь: https://stackoverflow.com/questions/954 ... ementation