我在VS2013下运行,一直报错啊,调到现在凌晨也没弄出来,求大神帮帮忙啊!

报错的图片在附件里面,我把项目里面其中三个文件剔除,项目不会报错,加上那三个文件就会报错,我觉着问题就在那三个文件里面。真心求大神帮我看看啊,我熬到现在。。。。。。。。。。。。。。。。。。。。。。。。。。。哎

三个文件的代码,我会贴出来

LevelData.h 文件


#ifndef MemoryCard_LevelData_h
#define MemoryCard_LevelData_h


struct LevelData{
    int rows;       //行数
    int columns;    //列数
    int loss;       //损耗
};


MermoryCardLevel.h文件

#ifndef __MemoryCard__MemoryCardLevel__
#define __MemoryCard__MemoryCardLevel__

#include 
#include "cocos2d.h"

#include"LevelData.h"
#include 
#include "Card.h"

USING_NS_CC;


class MemoryCardLevel:public Layer{
    


    
    //关卡数据
    LevelData _levelData;
    
    std::vector<std::vector> _cardTable;
    
    //剩余卡片
    int _unfinishedCard;
public:
    
    MemoryCardLevel();
    virtual ~MemoryCardLevel();
    
    static MemoryCardLevel* create(LevelData levelData);
    
    virtual bool initWithLevelData(LevelData levelData);
    
    
protected:
    
    void initCardLayout();
    
};

#endif






MermoryCardLevel.cpp文件


#include "MemoryCardLevel.h"

#include "CardFactory.h"


MemoryCardLevel::MemoryCardLevel()
{
    
}

MemoryCardLevel::~MemoryCardLevel()
{
    this->removeAllChildren();
}

MemoryCardLevel* MemoryCardLevel::create(LevelData levelData)
{
    MemoryCardLevel *cl=new MemoryCardLevel();
    
    if (cl && cl->initWithLevelData(levelData)) {
        cl->autorelease();
        return cl;
    }
    
    CC_SAFE_DELETE(cl);
    
    return nullptr;
}

bool MemoryCardLevel::initWithLevelData(LevelData levelData)
{
    if (Layer::init() == false){
        return false;
    }
    if ((levelData.rows*levelData.columns) % 2 != 0){
        return false;
    }
    _levelData=levelData;

    
    initCardLayout();
     
    return true;
}

void MemoryCardLevel::initCardLayout()
{
    //产生随机的颜色
    int backId = CCRANDOM_0_1() * 8;


    //初始化卡片table
    for (int row = 0; row < _levelData.rows; ++row) {
        std::vector r(_levelData.columns);
        _cardTable.push_back(r);
    }

    //初始化卡片并填充到卡片数组
    CardFactory factory;
    int number = 0;
    for (int row = 0; row < _levelData.rows; ++row) {
        for (int column = 0; column < _levelData.columns; column++)
        {
            //创建卡片
            Card* card = dynamic_cast(factory.createCard(backId, number / 2));
            card->getCardData()->row = row;
            card->getCardData()->column = column;
            number++;
            //设置卡片坐标
            int space = 20;//间距
            auto cardSize = card->getContentSize();
            card->setPosition(Vec2(
                (cardSize.width + space)*column + cardSize.width / 2,
                (cardSize.height + space)*row + cardSize.height / 2
                ));
            _cardTable = card;
            //添加至显示列表
            this->addChild(card);
            //设置图层大小
            if (column == _levelData.columns - 1 && row == _levelData.rows - 1) {
                this->setContentSize(Size(
                    (cardSize.width + space)*column + cardSize.width,
                    (cardSize.height + space)*row + cardSize.height
                    ));
            }
        }


    }
    this->_unfinishedCard = number;

}

#endif


```

图片贴重复了,求大神帮帮忙啊,真心想解决问题啊!

struct LevelData{
int rows; //行数
int columns; //列数
int loss; //损耗
};

USING_NS_CC;下试试

不行啊,哎,怎么回事啊,

你是不是全代码都贴了??
是的话就 #endif 不到应吧

LevelData.h 文件

#ifndef MemoryCard_LevelData_h
#define MemoryCard_LevelData_h

struct LevelData{
int rows; //行数
int columns; //列数
int loss; //损耗
};
#endif