adresse de cette

J'essaie de trouver l'adresse de this pointeur, mais ce code est montrant une étrange
erreur:

#include <iostream>
using namespace std;
class Base
{
    public:
        void test()
        {
            void *address_of_this =&this;
            cout<<address_of_this<<endl;
        }
};

int main()
{   Base k;
    k.test();

    return 0;
}   //error non-lvalue in unary'&'   

Pouvez-vous expliquer cette erreur ?
Également point que ce qui est illégal en prenant l'adresse de this?

Essayez d'ajouter un espace après le signe =

OriginalL'auteur T.J. | 2012-02-02