首页 > 解决方案 > 通过参数接收对象类型

问题描述

我试图通过参数传递对象类型,但我找不到任何方法来做到这一点。

这是我迄今为止尝试过的:

我正在尝试为多个类(int、double 等)做一个通用函数

void changeObject(class this)
{
    static_cast<this&>(object[0][0]).foo()
}

但我无法让它发挥作用,这不适合 H\W,而是我正在做的一个项目。

标签: c++inheritance

解决方案


唯一的方法是做changeObject()一个模板函数,例如:

template<typename T>
void changeObject()
{
    static_cast<T&>(object[0][0]).foo();
}

然后你可以这样称呼它:

changeObject<DesiredTypeHere>();

推荐阅读