我有一个带有void*的函数作为其参数之一(void用作通用对象).但是为了能够调用该泛型对象中的函数,我需要先抛出它,为此我需要知道该类的类型.我想知道,是否可以传递一个类或一些允许我将对象转换为函数参数的信息?
你有没有看过模板?
一个例子就是如此
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)