Итак, я иду так:
class A;
class B : public A;
class C : public B;
vector<A*> *vecA;
vector<C*> *vecC;
И я хочу превратить vectC в vecA.
vector<A*> *_newA = static_cast< vector<A*>* >(vecC); //gives an error
Поэтому я использовал указатель void в качестве буфера и приведения:
void *buffer = vecC;
vector<A*> *_newA = static_cast< vector<A*>* >(buffer); //works
Это действительно? Есть ли другой способ сделать это?
std::vector
, это просто неправильно! Не делай этого! - person Tony The Lion   schedule 06.08.2012new
— это ключевое слово в C++. Это не разрешено в качестве идентификатора. - person pmr   schedule 06.08.2012