我正在尝试制作一个采用两种数据类型的函数,我知道每种数据类型都是 drawable
类的后代,这意味着我的函数依赖于一些 drawable
的功能。但是因为它是一个模板函数,所以我不能这样做。
我怎样才能使用这些后代类函数?或者只接受 drawable
的后代?
这是我的函数的开始。 GetPositionY 是 drawable 的函数。
template<typename T, typename T2>
bool CheckCollision(T* obj1, T2* obj2){
obj1->GetPositionY;
最佳答案
CheckCollision()
函数应要求客户端传递一个提供GetPosition()
方法的对象。这就是您在模板中调用 obj1->GetPositionX()
时所做的事情。没有理由强制它传递一个 drawable
对象。
关于c++ - 如何为模板函数指定可能的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6392178/