Ты применил С-cast вместо С++-cast, т.е. вместо static_cast/const_cast, в данном случае они равносильны. C-cast -- это наследие С. По-хорошему здесь нужен reinterpret_cast, а совсем по-хорошему так писать вообще нельзя Если программируешь на С++, забудь о механизмах C. Согласен.
W4FhLF Ну внутренне то они ничем не отличаются, это так стилистика С++. Мне часто просто лень писать С++ style cast-ы. А писать так конечно и в мыслях не было.
еще переносимое решение для данной задачи CORef* foo(const CORef& a) { return const_cast<CORef*>(&a); } int main() { CORef dummy; foo(dummy); return 0; }