c + +, en effaçant quelque chose à partir d'un vecteur?

  • Bozebo
  • Expert
  • Expert
  • Avatar de l’utilisateur
  • Inscription: Fév 15, 2006
  • Messages: 709
  • Loc: 404
  • Status: Offline

Message Août 7th, 2009, 6:44 am

Salut, j'ai un vecteur qui se peuplées par les instances. Cependant, il semble faire l'effacer () la fonctionnalité des vecteurs inutilisable: S
Voici ce que je parle et #058;
Code: [ Select ]
 
class Ctest;
vector <Ctest> testObjects;
class Ctest{
  int id;
  int something1,something2;
  float whatever;
  public:
    Ctest(int setId){
      id = setId;
    }
    ~Ctest();
    someMethod();
    anotherMethod(){
      //... stuff
      //... more stuff
 
      testObjects.erase(id);
    }
};
 
int main(){
  testObjects.push_back(testObjects.size());
  testObjects.push_back(testObjects.size());
  testObjects.push_back(testObjects.size());
  testObjects[1].anotherMethod();
...
 
  1.  
  2. class Ctest;
  3. vector <Ctest> testObjects;
  4. class Ctest{
  5.   int id;
  6.   int something1,something2;
  7.   float whatever;
  8.   public:
  9.     Ctest(int setId){
  10.       id = setId;
  11.     }
  12.     ~Ctest();
  13.     someMethod();
  14.     anotherMethod(){
  15.       //... stuff
  16.       //... more stuff
  17.  
  18.       testObjects.erase(id);
  19.     }
  20. };
  21.  
  22. int main(){
  23.   testObjects.push_back(testObjects.size());
  24.   testObjects.push_back(testObjects.size());
  25.   testObjects.push_back(testObjects.size());
  26.   testObjects[1].anotherMethod();
  27. ...
  28.  


Maintenant...lorsque je tente de compiler (mon code proprement dit, pas l'exemple ci-dessus) avec gcc, j'obtiens une erreur:
Quote:
Erreur: pas de fonction d'appariement pour l'appel à std:: vector <CenemyBullet, std:: allocator <CenemyBullet>>:: erase (U16 &)


Ce que je pense qu'il essaie bêtement à faire est de trouver les effacer membres dans la classe que j'ai défini...what is up with that? Est-ce normal ou ai-je fait quelque chose de stupide (qui définit le vecteur au niveau mondial entre les définitions pour la classe?).
Si cela est normal...N'est-ce pas faire des vecteurs inutilisable pour des objets?

Télécharger mon source complet . Le code en question se trouve dans main.cpp, et oui je sais qu'il ya beaucoup d'autres questions dans le code ^ _ ^ son un WIP, mal tourner pour le nettoyer. À moins bien sûr ces questions causé ce problème.

Oh, je suis de la compilation pour la GBA, en utilisant DevKit avancé. Donc, vous avez très probablement ne seront pas capables de le compiler emblée si vous avez besoin de le faire. Si vous voulez vous pouvez télécharger le plein chose (plus de 21Mo).
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Août 7th, 2009, 6:44 am

Afficher de l'information

  • Total des messages de ce sujet: 1 message
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 80 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC