Здравствуйте, server_mouse, Вы писали:
SM>Hi ALL. Вопрос очень простой, но я что-то торможу....
SM>SM>class CSockClient;
SM>extern void foo(CSockClient *pClient);
SM>class CSockClient
SM>{
SM> public:
SM> virtual void class_foo()
SM> {
SM> foo(this);
SM>// Сюда ругаемся: cannot convert parameter 1 from 'class CSockServ *const ' to 'const class CSockClient *'
SM> }
SM> int a;
SM>};
SM>void foo(CSockClient *pClient)
SM>{
SM> pClient->a=0;
SM>}
SM>
SM>Собственно почему компилятор решил сделать this константным? И как решить проблему?
Это не *this константный, а указатель на *this.
void foo(CSockClient *const pClient);