2011-06-25 5 views
0

J'ai environ deux semaines pour apprendre le C++ et j'ai décidé de lancer un jeu de simulation de football. J'ai créé une classe appelée player et depuis, j'ai eu une erreur de compilation. Cependant, même si je commente la classe je reçois toujours l'erreur:symbole externe non résolu

1> football1.obj: erreur LNK2019: symbole externe non résolu "public: __thiscall player :: player (void)" (?? 0player @@ QAE @XZ) référencé dans la fonction _wmain

Voici le code:

// football.cpp : Defines the entry point for the console application. 
// 
#include "stdafx.h" 
#define _WIN32_WINNT 0x0500 
#include <windows.h> 
#include <Wincon.h> 
#include <iostream> 
#include <stdlib.h> 
using namespace std; 

class player{ 
private: 
    static const int quarterbackspeed=10; 
public: 
    player(); 
    int ret(){return quarterbackspeed;} 
}; 

int _tmain(int argc, _TCHAR* argv[]) 
{ 
    //maximize console window 
    HWND hWnd = GetConsoleWindow(); 
    ShowWindow(hWnd,SW_SHOWMAXIMIZED); 
    //DECLARE FOOTBALL FIELD 
    char field[27][57]; 
    //declare sidelines x=0,x=51,y=0,y=121 
    int times=0; 
    for(int declarex=0;times<2;declarex=26){ 
     for(int declarey=0;declarey<57;declarey++){ 
      field[declarex][declarey]='x';}times++;} 
    times=0; 
    for(int declarey=0;times<2;declarey=56){ 
     for(int declarex=1;declarex<26;declarex++){ 
      field[declarex][declarey]='x';}times++;} 
    //declare north endzone 
    for(int declarey=1;declarey<3;declarey++){ 
     for(int declarex=1;declarex<26;declarex++){ 
      field[declarex][declarey]='*';}} 
    //declare south endzone 
    for(int declarey=54;declarey<56;declarey++){ 
     for(int declarex=1;declarex<26;declarex++){ 
      field[declarex][declarey]='*';}} 
    //declare playing field 
    for(int declarex=1;declarex<26;declarex++){ 
     for(int declarey=3;declarey<54;declarey++){ 
      field[declarex][declarey]=' ';}} 
    //DECLARE PLAYERS 
    player manning; 
    cout<<manning.ret(); 
    //display field 
    for (int declarey=0;declarey<57;declarey++){ 
     cout<<endl; 
     for (int declarex=0;declarex<27;declarex++){ 
      cout<<field[declarex][declarey];}} 

    system("PAUSE"); 

    return 0; 
} 

Répondre

0

Vous devez mettre en œuvre le constructeur de player. Essayez player() { } au lieu du courant player();

1

Donnez le constructeur player une définition de fonction comme

player() 
{ 
} 
2

Vous avez déclaré un constructeur pour la classe player, mais ont fourni aucun corps. Fournissez un corps à la classe et cela corrigera l'erreur.

par exemple. A l'intérieur de la classe

player() {} 

ou en dehors de la classe:

player::player() {} 
2

erreurs comme celle-ci vous prie de développer sur des morceaux plus petits. Vous essayez d'en faire trop à la fois, évitez l'interface utilisateur et travaillez à faire fonctionner votre classe de joueur en premier; tu me remercieras plus tard.