Re: Приведение типов в С++
От: Admse  
Дата: 14.09.05 15:39
Оценка:
Здравствуйте, Аноним, Вы писали:


А>Почему VC++ ругается на такой код?


А>
А>CRITICAL_SECTION csResultGuard;

А>// ...

А>EnterCriticalSection( &csResultGuard );
А>


А>Компилятор говорит, что:

А>error C2664: 'EnterCriticalSection' : cannot convert parameter 1 from 'const CRITICAL_SECTION *' to 'LPCRITICAL_SECTION'

А>И что ему здесь не нравится???

А>Как правильно привести тип в таких случаях? static_cast не проходит, а приведение в стиле С и reinterpret_cast не поощряются.

похоже вам необходимо использовать const_cast, так как вы пытаетесь преобразовать константный объект к неконстантному (LPCRITICAL_SECTION — указатель на объект, а не указатель на костантный объект)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.