VadiMGP
|
Posted: Mon Apr 26, 2010 01:38 Post subject: |
|
|
MVV
Что самое смешное ты и прав и не прав.
Во-первых, в 2008 тоже не компиляется, выдает ошибку 2440 (cannot convert from 'type1' to 'type2'). По крайней мере, с жесткой проверкой типов. В этом ты прав.
А во-вторых, оказывается, что MVV wrote: | ... адрес больницы есть адрес вообще. | не всегда верно. В MSDN написано
C2440 can be caused if you attempt to convert a pointer to member to void*. The following sample generates C2440.
Code: | // C2440.cpp
class B {
public:
void f(){;}
typedef void (B::*pf)();
void f2(pf pf) {
(this->*pf)();
void* pp = (void*)pf; // C2440
}
void f3() {
f2(f);
}
};
|
Но с больницей трудно провести аналогию, поэтому воспользуемся классикой - морская свинка еще не значит, что свинка.  |
|