Bonjour! En regardant sur le net et dans la FAQ de developpez.com pour me documenter là-dessus, j'ai mis en pratique dans mon cas et j'ai voulu tester ce que ça donne pour la création d'un tableau dynamique dans une classe, mais je reçoit un segmentation fault! Car il me dit qu'il n'est pas initialiser.

Classe TestVector.h

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
class TestVector
{
public:
    TestVector();
    virtual ~TestVector();
 
    void showStringValue();
 
private:
    vector<string> stringValue;           // En lisant sur les vector, ils disent que c'est déjà initialiser.
};
Classe TestVector.cpp

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
TestVector::TestVector()
{
 
    // Segmentation fault
    this->stringValue[0] = "Test01";
    this->stringValue[1] = "Test02";
    this->stringValue[2] = "Test03";
    this->stringValue[3] = "Test04";
    this->stringValue[4] = "Test05";
}
 
TestVector::~TestVector()
{
          // Comment fait-on pour détruire un vector?
}
 
void TestVector::showStringValue()
{
    for(int i = 0; i < this->stringValue.size(); i++)
    {
        cout << this->stringValue[i] << endl;
    }
}
Classe Program.cpp

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
int main(int argc, char** argv)
{
    TestVector* mTestVector = new TestVector();
 
    mTestVector->showStringValue();
 
    delete mTestVector;
 
    return (EXIT_SUCCESS);
}
Je me doutais que ce n'était pas aussi simple, mais j'ai voulue me débarrassais de mes vieilles habitudes et m'orienter de plus en plus sur la programmation objet.

Et je voulais savoir ce que c'était le data "clip.data()", car je suis dans un projet SDL, mais en faisant

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
vector<SDL_Rect> clip;
SDL_BlitSurface(source, clip.data(), SDL_GetVideoSurface(), &offset);
Je n'ai plus eu d'erreur à la compilation. Donc je me demandé à quoi ça pouvais servir. Merci d'avance pour votre aide.