Erreur du compilateur ou erreur de language ou normal ?
Bonjour,
pourquoi ce bout de code fonctionne (testé avec gcc-4.7) ?
Code:
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 ?