0x003baf00 скалярное удаление деструктора 'unsigned int - PullRequest
1 голос
/ 04 октября 2011

Я создаю игру на С ++.У меня есть класс с именем eggAI и слушатель сокета, работающий в потоке.При приеме гнезда яйцо движется вперед.Поэтому я создаю экземпляр класса eggAI и перемещаю его вперед (потому что функция слушателя сокета должна быть статической).Вот что нужно сделать при приеме сокета

eggAI *mn = new eggAI();
mn->bMoveForward(true);

Моя игра запущена, но яйцо не движется при приеме сокета.Я попытался отладить и обнаружил, что проблема в mn-> bMoveForward (true), отладка показала мне 0x003baf00 скалярное удаление деструктора '(unsigned int) .Обратите внимание, что в eggAI.h я определил конструктор и деструктор, а в eggAI.cpp я реализовал их:

// eggAI.h

#ifndef __eggAI_h__
#define __eggAI_h__
//------------------------------------------------------------------------------
#include "S3DX/S3DXAIModel.h"
#include "chasing_the_egg_Plugins.h"
#pragma comment(lib, "ws2_32.lib")
#include <winsock2.h>    
#include <process.h>
#include <stddef.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
#include <stdio.h>
//------------------------------------------------------------------------------
S3DX_DECLARE_AIMODEL( eggAI )
{
public:

    // Handlers:
    // 
    S3DX_DECLARE_HANDLER( onInit );
    S3DX_DECLARE_HANDLER( onMouseMove );
    S3DX_DECLARE_HANDLER( onEnterFrame );
    S3DX_DECLARE_HANDLER( onCaptureInput );
    S3DX_DECLARE_HANDLER( onKeyboardKeyUp );
    S3DX_DECLARE_HANDLER( onKeyboardKeyDown );

    // States:
    // 

    // Functions:
    // 
    void createHUD ( );
    void showMouse ( S3DX::AIVariable b = S3DX::nil );
    static unsigned __stdcall socketing (void *pi);
    void centerMouse ( );
    void createDynamic ( );
    void updateCharPos ( );
    void updateDynamics ( );
    static unsigned __stdcall direction (void *ea);
    eggAI();
    virtual ~ eggAI();

    // Variables:
    // 
    S3DX_DECLARE_VARIABLE( nSpeed );
    S3DX_DECLARE_VARIABLE( hDynObj );
    S3DX_DECLARE_VARIABLE( nGravity );
    S3DX_DECLARE_VARIABLE( bMoveBack );
    S3DX_DECLARE_VARIABLE( nCurAngleH );
    S3DX_DECLARE_VARIABLE( nCurAngleV );
    S3DX_DECLARE_VARIABLE( nDstAngleH );
    S3DX_DECLARE_VARIABLE( nDstAngleV );
    S3DX_DECLARE_VARIABLE( bMoveForward );
    S3DX_DECLARE_VARIABLE( bCaptureInput );
};
//------------------------------------------------------------------------------
#endif // __eggAI_h__
//------------------------------------------------------------------------------

// eggAI.cpp

//------------------------------------------------------------------------------
#include "eggAI.h"
//------------------------------------------------------------------------------
// Common AIModel implementation
//
S3DX_IMPLEMENT_AIMODEL( eggAI )
    eggAI::eggAI() { }
    eggAI::~eggAI() { }

//------------------------------------------------------------------------------
// States mapping
//
S3DX_BEGIN_STATE_MAP( eggAI )
S3DX_END_STATE_MAP( eggAI )

//------------------------------------------------------------------------------
// Event handlers mapping
//
S3DX_BEGIN_HANDLER_MAP( eggAI )
    S3DX_HANDLER( eggAI, onInit )
    S3DX_HANDLER( eggAI, onMouseMove )
    S3DX_HANDLER( eggAI, onEnterFrame )
    S3DX_HANDLER( eggAI, onCaptureInput )
    S3DX_HANDLER( eggAI, onKeyboardKeyUp )
    S3DX_HANDLER( eggAI, onKeyboardKeyDown )
S3DX_END_HANDLER_MAP( eggAI )

//------------------------------------------------------------------------------
// Variables mapping
//
S3DX_BEGIN_VARIABLE_MAP( eggAI )
    S3DX_VARIABLE( eggAI, nSpeed, S3DX_VARIABLE_TYPE_NUMBER )
    S3DX_VARIABLE( eggAI, hDynObj, S3DX_VARIABLE_TYPE_OBJECT )
    S3DX_VARIABLE( eggAI, nGravity, S3DX_VARIABLE_TYPE_NUMBER )
    S3DX_VARIABLE( eggAI, bMoveBack, S3DX_VARIABLE_TYPE_BOOLEAN )
    S3DX_VARIABLE( eggAI, nCurAngleH, S3DX_VARIABLE_TYPE_NUMBER )
    S3DX_VARIABLE( eggAI, nCurAngleV, S3DX_VARIABLE_TYPE_NUMBER )
    S3DX_VARIABLE( eggAI, nDstAngleH, S3DX_VARIABLE_TYPE_NUMBER )
    S3DX_VARIABLE( eggAI, nDstAngleV, S3DX_VARIABLE_TYPE_NUMBER )
    S3DX_VARIABLE( eggAI, bMoveForward, S3DX_VARIABLE_TYPE_BOOLEAN )
    S3DX_VARIABLE( eggAI, bCaptureInput, S3DX_VARIABLE_TYPE_BOOLEAN )
S3DX_END_VARIABLE_MAP( eggAI )
//------------------------------------------------------------------------------

Кажется, я что-то упустил

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...