Je suis un programmeur assez expérimenté mais je suis en train de plonger en C++ et c'est ... bien plus difficile que PHP et Python. Je continue d'avoir des erreurs externes non résolues lorsque je tente de créer un objet à partir de certaines classes. Il est divisé en plusieurs en-têtes et les fichiers, mais voici une idée de base d'un de mes cours:Erreurs "Unresolved External Symbol" lors de la création d'un objet en C++
die.h:
#ifndef DIE_H
#define DIE_H
using namespace std;
class Die {
public:
int throwDie();
Die();
};
#endif
die.cpp
#include <iostream>
#include <cstdlib>
#include "Die.h"
using namespace std;
int Die::throwDie()
{
return 0;
}
sixsidedie.h
#ifndef SIXSIDEDIE_H
#define SIXSIDEDIE_H
#include "Die.h"
using namespace std;
class SixSideDie : public Die
{
public:
SixSideDie();
int throwDie();
private:
int randNumber;
};
#endif
sixsidedie.cpp
#include <iostream>
#include <cstdlib>
#include <time.h>
#include "Die.h"
#include "SixSideDie.h"
using namespace std;
const int SIX_SIDE = 6;
int SixSideDie::throwDie()
{
srand((unsigned int)time(0));
SixSideDie::randNumber = rand() % SIX_SIDE + 1;
return SixSideDie::randNumber;
}
main.cpp
#include <iostream>
#include <cstdlib>
#include "Die.h"
#include "SixSideDie.h"
#include "TenSideDie.h"
#include "TwentySideDie.h"
using namespace std;
int main()
{
Die* myDice[3];
myDice[0] = new SixSideDie();
myDice[1] = new TenSideDie();
myDice[2] = new TwentySideDie();
myDice[0]->throwDie();
myDice[1]->throwDie();
myDice[2]->throwDie();
system("pause");
return 0;
}
Il continue à me dire que chaque objet que je crée directement au-dessus est un symbole externe non résolu et je ne sais pas Pourquoi. Des pensées!?
Désolé pour le #include vers le haut. Apparemment, cela les a filtrés, mais je pense qu'ils sont sans conséquence de toute façon. – mpoplin
J'ai compris! J'ai oublié de faire des constructeurs. Que je suis bête. Merci pour l'aide rapide les gars, vous êtes simplement le meilleur. J'espère pouvoir contribuer moi-même bientôt. – mpoplin