T>Возможно ли создать вектор указателей на методы разных классов, которые все одного типа?
В твоем вопросе внутреннее противоречие. Если методы разных классов, то их тип разный, потому что в тип метода формально входит его класс. Тем не менее, если размер указателя на все эти методы одинаковый (например, они все невиртуальные), то можно положить в вектор обобщенный указатель и приводить типы вручную... но я не рекомендую.
Здравствуйте, Sni4ok, Вы писали:
S>Здравствуйте, Towelie, Вы писали:
T>>Возможно ли создать вектор указателей на методы разных классов, которые все одного типа?
S>std::vector<void*> pointers;
хинт sizeof(void*) намного меньше чем у указателей на методы.
Здравствуйте, Sni4ok, Вы писали:
S>Здравствуйте, Towelie, Вы писали:
T>>Возможно ли создать вектор указателей на методы разных классов, которые все одного типа?
S>std::vector<void*> pointers;
если без множественного наследования то у меня vs2008 х86 размер указателя на метод
имеет такой же размер как и указатель void* 4 байта а если со множественным то 8 байт
Здравствуйте, jyuyjiyuijyu, Вы писали:
J>имеет такой же размер как и указатель void* 4 байта а если со множественным то 8 байт J>каждый элемент массива это адрес метода + смещение добавляемое к this при вызове
А если есть виртуальные базы, то может быть и ещё больше...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Towelie, Вы писали:
T>Возможно ли создать вектор указателей на методы разных классов, которые все одного типа?
не нужно, если все методы имеют одинаковую сигнатуру создайте вектор объектов boost::function или воспользуйтесь полиморфизмом. что в конечном итоге планируется делать с этим вектором?