Çözüldü 'make_pair': tanımlayıcı bulunamadı hatası

  • Konuyu açan Konuyu açan TheAdmin33
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 2
  • Gösterim Gösterim 388
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

TheAdmin33

Ah, bu şarkıların gözü kör olsun
Geliştirici
Yardımsever Üye
Usta Üye
Editör
Mesaj
1.045
Çözümler
60
Beğeni
2.679
Puan
1.849
Ticaret Puanı
0
PythonSkillPet.cpp:
Genişlet Daralt Kopyala
1>C:\Users\SEFA\Desktop\Razuning V5 - Mainline Source\source\Client Source\source\UserInterface\PythonSkillPet.cpp(57,28): error C3861: 'make_pair': tanımlayıcı bulunamadı

Client build ederken bu hatayı verdi ,çözümünü bilen varmı?

PythonSkillPet.cpp:
Genişlet Daralt Kopyala
#include "StdAfx.h"
#include "PythonSkillPet.h"

#include "../EterBase/Poly/Poly.h"
#include "../EterPack/EterPackManager.h"
#include "InstanceBase.h"
#include "PythonPlayer.h"





bool CPythonSkillPet::RegisterSkillPet(const char * c_szFileName)
{
    const VOID* pvData;
    CMappedFile kFile;
    if (!CEterPackManager::Instance().Get(kFile, c_szFileName, &pvData))
        return false;

    CMemoryTextFileLoader textFileLoader;
    textFileLoader.Bind(kFile.Size(), pvData);
    
    CTokenVector TokenVector;
    for (DWORD i = 0; i < textFileLoader.GetLineCount()-1; ++i)
    {
        if (!textFileLoader.SplitLine(i, &TokenVector, "\t"))
            return false;
        //TraceError("%s ---- %s | %s | %s", c_szFileName, TokenVector[0].c_str(),TokenVector[1].c_str(),TokenVector[2].c_str());
        //TraceError("SkillPetDesc %d %s %s %s %s \n", TokenVector.size(), TokenVector[0], TokenVector[1], TokenVecto[2], TokenVector[3]);
        if (DESCPET_TOKEN_TYPE_MAX_NUM > TokenVector.size())
        {
            //TraceError("SkillPetDesc.line(%d).NO_VNUM_ERROR\n", -1);
            return false;
        }
        //TraceError("SkillPetDesc.line(%d).NO_VNUM_ERROR\n", 3);
        DWORD iSkillIndex = atoi(TokenVector[DESCPET_TOKEN_TYPE_VNUM].c_str());
        if (iSkillIndex == 0)
        {
            //TraceError("SkillPetDesc.line(%d).NO_INDEX_ERROR\n", i + 1);
            continue;
        }

        
        
        //TraceError("SkillPetDesc.line(%d).NO_VNUM_ERROR\n", 4);
        
        /*
        std::map<DWORD, TSkillDataPet>::iterator it = m_SkillDataPetMap.find(1);
        if (m_SkillDataPetMap.end() == it)
        {
            TraceError("Arrivato alla fine");
            continue;
        }
        */
        //TraceError("Ciao: %s",m_SkillDataPetMap[1].strIconFileName);
        
        m_SkillDataPetMap.insert(make_pair(iSkillIndex, TSkillDataPet()));
        
        
        
        
        
        //TraceError("SkillPetDesc.line(%d).NO_VNUM_ERROR\n", 5);
        TSkillDataPet & rSkillData = m_SkillDataPetMap[iSkillIndex];

        //TraceError("SkillPetDesc.line(%d).NO_VNUM_ERROR\n", 6);
        // Vnum
        rSkillData.dwSkillIndex = iSkillIndex;       
        //TraceError("SkillPetDesc.line(%d).NO_VNUM_ERROR\n", 7);
        // Name
        rSkillData.strName = TokenVector[DESCPET_TOKEN_TYPE_NAME];
        //Icon Name       
        char szIconFileNameHeader[64+1];
        _snprintf(szIconFileNameHeader, sizeof(szIconFileNameHeader), "%sskill/pet/%s.sub", g_strImagePath.c_str(), TokenVector[DESCPET_TOKEN_TYPE_ICON_NAME].c_str());

        rSkillData.strIconFileName = szIconFileNameHeader;

        //Type
        std::map<std::string, DWORD>::iterator itor = m_SkillPetTypeIndexMap.begin();
        for(; itor != m_SkillPetTypeIndexMap.end(); ++itor){
            if (TokenVector[DESCPET_TOKEN_TYPE].compare(itor->first) == 0)
                    rSkillData.byType = itor->second;
        }
        rSkillData.strDescription = TokenVector[DESCPET_TOKEN_TYPE_DESCRIPTION];
        rSkillData.dwskilldelay = atoi(TokenVector[DESCPET_TOKEN_TYPE_DELAY].c_str());

        
        rSkillData.pImage = (CGraphicImage *)CResourceManager::Instance().GetResourcePointer(szIconFileNameHeader);           
        
    }

    return true;
}

void CPythonSkillPet::__RegisterNormalIconImage(TSkillDataPet & rData, const char * c_szHeader, const char * c_szImageName)
{
    std::string strFileName = "";
    strFileName += c_szHeader;
    strFileName += c_szImageName;
    strFileName += ".sub";
    rData.pImage = (CGraphicImage *)CResourceManager::Instance().GetResourcePointer(strFileName.c_str());
    
}
void CPythonSkillPet::Destroy()
{
    
    m_SkillDataPetMap.clear();   
}

CPythonSkillPet::SSkillDataPet::SSkillDataPet()
{


    dwSkillIndex = 0;
    strName = "";
    strIconFileName = "";
    byType = 0;           
    strDescription = "";
    dwskilldelay = 0;
    pImage = NULL;   
    
}

CPythonSkillPet::CPythonSkillPet()
{
    /*
    TSkillDataPet SkillDataPet;
    SkillDataPet.dwSkillIndex = 0;
    SkillDataPet.strName = "";
    SkillDataPet.strIconFileName = "";
    SkillDataPet.byType = 0;
    SkillDataPet.strDescription = "";
    SkillDataPet.dwskilldelay = 0;
    SkillDataPet.pImage = NULL;
    
    m_SkillDataPetMap.insert(TSkillDataPetMap::value_type(0, SkillDataPet));
    */
    petslot[0] = 0;
    petslot[1] = 0;
    petslot[2] = 0;

    m_SkillPetTypeIndexMap.insert(std::map<std::string, DWORD>::value_type("EMPTY", SKILLPET_TYPE_NONE));
    m_SkillPetTypeIndexMap.insert(std::map<std::string, DWORD>::value_type("PASSIVE", SKILLPET_TYPE_PASSIVE));
    m_SkillPetTypeIndexMap.insert(std::map<std::string, DWORD>::value_type("AUTO", SKILLPET_TYPE_AUTO));

}
CPythonSkillPet::~CPythonSkillPet()
{
}


void CPythonSkillPet:: SetSkillbySlot(int slot, int skillIndex)
{
    //TraceError("Setto lo slot %d --> skill %d", slot, skillIndex);
    petslot[slot] = skillIndex;
}

BOOL CPythonSkillPet::GetSkillData(DWORD dwSkillIndex, TSkillDataPet ** ppSkillData)
{
    TSkillDataPetMap::iterator it = m_SkillDataPetMap.find(dwSkillIndex);

    if (m_SkillDataPetMap.end() == it)
        return FALSE;

    *ppSkillData = &(it->second);
    return TRUE;
}

BOOL CPythonSkillPet::GetSkillIndex(int slot, int* skillIndex)
{
    *skillIndex = petslot[slot];
    return TRUE;
}

PyObject * petskillSetSkillSlot(PyObject * poSelf, PyObject * poArgs)
{
    int slot;
    int skillIndex;

    if (!PyTuple_GetInteger(poArgs, 0, &slot))
        return Py_BadArgument();
    if (!PyTuple_GetInteger(poArgs, 1, &skillIndex))
        return Py_BadArgument();
    CPythonSkillPet::Instance().SetSkillbySlot(slot, skillIndex);
    return Py_BuildValue("i", 0);
}

PyObject * petskillGetIconImage(PyObject * poSelf, PyObject * poArgs)
{
    int iSkillIndex;
    if (!PyTuple_GetInteger(poArgs, 0, &iSkillIndex))
        return Py_BadArgument();

    CPythonSkillPet::SSkillDataPet * c_pSkillData;
    if (!CPythonSkillPet::Instance().GetSkillData(iSkillIndex, &c_pSkillData))
        return Py_BuildValue("i", 0);    // ÀͼÁ¼ÇÀ» ³»´Â ´ë½Å 0À» ¸®ÅÏÇÑ´Ù.

    return Py_BuildValue("i", c_pSkillData->pImage);
}

PyObject * petskillGetSkillbySlot(PyObject * poSelf, PyObject * poArgs)
{
    int slot;
    int skillIndex;
    if (!PyTuple_GetInteger(poArgs, 0, &slot))
        return Py_BadArgument();

    if (slot > 2)
        return Py_BadArgument();

    if (!CPythonSkillPet::Instance().GetSkillIndex(slot, &skillIndex))
        return Py_BuildValue("i", 0);

    return Py_BuildValue("i", skillIndex);

}

PyObject * petskillGetEmptySkill(PyObject * poSelf, PyObject * poArgs)
{
    CGraphicImage * noskillbtn;
    char szIconFileNameHeader[64 + 1];
    _snprintf(szIconFileNameHeader, sizeof(szIconFileNameHeader), "d:/ymir work/ui/pet/skill_button/skill_enable_button.sub");
    noskillbtn = (CGraphicImage *)CResourceManager::Instance().GetResourcePointer(szIconFileNameHeader);
    return Py_BuildValue("i", noskillbtn);
}

void initskillpet()
{
    static PyMethodDef s_methods[] =
    {
        ///Variabili setting //
        { "SetSkillSlot",                    petskillSetSkillSlot,                        METH_VARARGS },


        //Variabili Get //
        
        { "GetIconImage",                    petskillGetIconImage,                        METH_VARARGS },
        { "GetSkillbySlot",                    petskillGetSkillbySlot ,                    METH_VARARGS },
        { "GetEmptySkill",                    petskillGetEmptySkill,                        METH_VARARGS },

        { NULL,                                        NULL,                                        NULL },
    };

    PyObject * poModule = Py_InitModule("petskill", s_methods);
}
 
Son düzenleme:
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst