class A {}
A a;
type_info info = typeid (a); // error type_info is private
Run Code Online (Sandbox Code Playgroud)
我想要一个列表list<type_info>来存储类的类型.有解决方案吗?
您无法创建'type_info'对象的副本.但是,如果'typeid'是Lvalue,并且相应的'type_info'对象一旦获得,它将继续存在直到程序结束.出于这些原因,您可以安全地存储指向列表中"type_info"对象的指针.
您无法直接实例化type_info类的对象,因为该类只有一个私有的复制构造函数.由于列表需要复制构造函数...
如果确实需要它,请使用std :: list <type_info*>.
我不知道为什么你需要这个列表,但如果可能的话,我会想到另一种设计,不涉及RTTI.