Bonjour,

pourquoi ce bout de code fonctionne (testé avec gcc-4.7) ?

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
 
#include <iostream>
 
using namespace std;
 
struct S
{
    void p(){ cout << "test" << endl; }
};
 
int main()
{
    S* a = nullptr;
    a->p();
    return 0;
}
Je ne m’attendais pas du tout à ce que ce code puisse fonctionner puisqu'en apparence, je créé juste un pointeur vers une classe, sans jamais instancier l'objet en question ! Vous avez une idée de qui fait une erreur ?