我可以从std::type_info
声明变量吗?我想做这样的事情:
void some(type_info type)
{
type variable;
我想将参数作为类的函数类型给出并在其中初始化。
答案 0 :(得分:1)
我确定这是不正确的C ++,因为函数声明中的type
是变量名,函数体中的type
是类型名称。那些不能互换。
(注意:我通过纯逻辑和一些C ++知识来推断它。其他用户很可能会添加一些关于std::type_info
本身的信息。)
答案 1 :(得分:1)
最好的办法是使用模板:
template <typename T>
void some()
{
T variable;
}
//usage:
some<int>();
由于C ++是静态类型的,因此无法在运行时确定可变类型,因此无论如何都应该在编译时知道所有类型。