Здравствуйте, Аноним, Вы писали:
АТ>>Нет. Указатель на функцию и указатель на метод класса — объекты совершенно разной природы в С++ и никакого преобразования между ними быть не может. И даже на уровне бинарного представления в общем случае внутреннее устройство этих указателей может сильно различаться (здесь уже речь идет о конкретных платформах/компиляторах, разумеется).
А>не правда
А>точно такой же вызов, только дополнительно ECX = this
Неверно.
(Я не понимаю, что происходим с форумом и что здесь делает это замшелое сообщение, но на всякий случай отвечу).
Вызов тебе кажется "точно таким же" потому, что ты еще, скорее всего, мало видел этих вызовов. Советую тебе на досуге подумать над результатами, респечатываемыми вот такой программой
#include <iostream>
#ifdef _MSC_VER
#pragma pointers_to_members(full_generality, multiple_inheritance)
#endif
class A {};
int main()
{
std::cout << sizeof(void (A::*)()) << std::endl;
std::cout << sizeof(void (*)()) << std::endl;
}
О результатах своих раздумий сообщи нам.