未解决的外部符号

时间:2011-06-25 01:18:30

标签: c++

我大约两周时间学习c ++并决定开始一个足球模拟游戏。我创建了一个名为player的类,从那时起我就遇到了编译错误。但是,即使我在课堂上发表评论,我仍然会收到错误:

1> football1.obj:错误LNK2019:未解析的外部符号“public:__thiscall player :: player(void)”(?? 0player @@ QAE @ XZ)在函数_wmain中引用

以下是代码:

// 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;
}

4 个答案:

答案 0 :(得分:2)

您已为player类声明了构造函数,但未提供任何正文。为班级提供一个机构,并确定错误。

e.g。在课堂内

player() {}

或在课外:

player::player() {}

答案 1 :(得分:2)

这样的错误会让你在小件上发展。你试图一次做太多,避开用户界面并努力让你的玩家类首先工作;你以后会感谢我。

答案 2 :(得分:1)

player构造函数提供类似

的函数定义
player()
{
}

答案 3 :(得分:0)

您必须实现player的构造函数。试试player() { }而不是当前的player();