是否可以将类作为参数传递给c ++中的函数?

Xai*_*anX 7 c++

我有一个带有void*的函数作为其参数之一(void用作通用对象).但是为了能够调用该泛型对象中的函数,我需要先抛出它,为此我需要知道该类的类型.我想知道,是否可以传递一个类或一些允许我将对象转换为函数参数的信息?

jos*_*mas 9

你有没有看过模板

一个例子就是如此

class SomeClass
{
public:
    template<typename CastClass>
    void DoSomething(void* someArg)
    {
         (CastClass)someArg;
    }
};
Run Code Online (Sandbox Code Playgroud)

用法:

class A{ }; // Some random test class

SomeClass test;
A a;
test.DoSomething<int>(&a); // The template parameter can be anything. 
                           // I just have int to make it a smaller example.
Run Code Online (Sandbox Code Playgroud)