我可以从std :: type_info声明变量吗?

时间:2016-07-19 15:54:42

标签: c++

我可以从std::type_info声明变量吗?我想做这样的事情:

void some(type_info type)
{
    type variable;

我想将参数作为类的函数类型给出并在其中初始化。

2 个答案:

答案 0 :(得分:1)

我确定这是不正确的C ++,因为函数声明中的type是变量名,函数体中的type是类型名称。那些不能互换。

(注意:我通过纯逻辑和一些C ++知识来推断它。其他用户很可能会添加一些关于std::type_info本身的信息。)

答案 1 :(得分:1)

最好的办法是使用模板:

template <typename T>
void some()
{
    T variable;
}

//usage:
some<int>();

由于C ++是静态类型的,因此无法在运行时确定可变类型,因此无论如何都应该在编译时知道所有类型。