l'allocation d'un objet de la classe abstraite de type
im essayant d'intégrer un CCTable vue dans mon cocos2d-x app. j'ai suivi le code source de la testcpp et j'ai toujours cette erreur et pas sûr à 100% pourquoi
"l'allocation d'un objet de la classe abstraite de type 'GameList'"
voici mon code source
GameList.h
#ifndef __Squares__GameList__
#define __Squares__GameList__
#include "cocos2d.h"
#include "cocos-ext.h"
#include "GameListScene.h"
#include "GameManager.h"
using namespace cocos2d;
class GameList : public CCLayer, public extension::CCTableViewDataSource, public extension::CCTableViewDelegate
{
public:
virtual bool init();
CREATE_FUNC(GameList);
~GameList(void);
CCLabelTTF* titleLabel;
CCLabelTTF* loginLabel;
CCLabelTTF* passwordLabel;
virtual void tableCellTouched(extension::CCTableView* table, extension::CCTableViewCell* cell);
virtual CCSize tableCellSizeForIndex(extension::CCTableView *table, unsigned int idx);
virtual unsigned int numberOfCellsInTableView(extension::CCTableView *table);
};
#endif
GameList.cpp
USING_NS_CC;
USING_NS_CC_EXT;
bool GameList::init()
{
if ( !CCLayer::init() )
{
return false;
}
CCSize size = CCDirector::sharedDirector()->getWinSize();
CCTableView* tableView = CCTableView::create(this, CCSizeMake(250, 60));
tableView->setDirection(kCCScrollViewDirectionHorizontal);
tableView->setPosition(ccp(20,size.height/2-30));
tableView->setDelegate(this);
this->addChild(tableView);
tableView->reloadData();
return true;
}
GameList::~GameList(void)
{
}
void GameList::tableCellTouched(CCTableView* table, CCTableViewCell* cell)
{
CCLOG("cell touched at index: %i", cell->getIdx());
}
CCSize GameList::tableCellSizeForIndex(CCTableView *table, unsigned int idx)
{
return CCSizeMake(60, 60);
}
unsigned int GameList::numberOfCellsInTableView(CCTableView *table)
{
return 20;
}
toute aide serait appréciée
Grâce
- Ce n'est pas le problème, mais les noms qui contiennent deux fois de suite les traits de soulignement (
__Squares__GameList__
, avec une vengeance) et les noms qui commencent par un caractère de soulignement suivi par une lettre majuscule sont réservés à la mise en œuvre. Ne les utilisez pas. - ceux-là sont créés lors de la création de chaque nouveau fichier.
- Ensuite, vous devez reconfigurer quel que soit l'outil que vous utilisez qui génère ces choses. Ils sont des noms réservés. Ne les utilisez pas.
Vous devez vous connecter pour publier un commentaire.
Vous êtes hériter ou de dire à l'aide de CCtableViewDataSource & CCTableViewDelegate Classes de sorte que u doit définir toutes les méthodes virtuelles
comme suit :
Il serait bon de voir ce qui est dans
CCTableViewDataSource, CCTableViewDelegate
classes.De toute façon, je pense que votre problème est que
GameList
classe n'implémente pas toutes les virtuel méthodes abstraites à partir de ci-dessus mentionné classes. Il suffit de cocher ce que vous avez manqué.J'ai trouvé que vous avez à mettre en œuvre
CCTableViewDelegate
ainsi queCCScrollViewDelegate
depuisCCTableViewDelegate
hérite deCCScrollViewDelegate
.