C++: la syntaxe pour accéder struct membre de pointeur de classe

Je suis en train d'essayer d'accéder à un membre des structures variables, mais je n'arrive pas à obtenir la syntaxe de droit.
Les deux erreurs de compilation pr. accès:
erreur C2274: "la fonction de style cast' : illégal côté droit de '.' opérateur
error C2228: la partie gauche de '.otherdata " doit class/struct/union
J'ai essayé différents changements, mais aucun succès.

#include <iostream>

using std::cout;

class Foo{
public:
    struct Bar{
        int otherdata;
    };
    int somedata;
};

int main(){
    Foo foo;
    foo.Bar.otherdata = 5;

    cout << foo.Bar.otherdata;

    return 0;
}

OriginalL'auteur Peter Ølsted | 2009-05-27