Function1 可以使用任何类型 T 调用,该类型 T 将被转换为 (void*) 以便能够添加到列表中,但是这样我会丢失原始指针类型(我需要将 tham 存储在一个链表中,因为我不能为每个链表创建一个可能的类型)。所以不知何故我也需要保存指针的类型。我知道它不能使用 c++ 来完成。任何人都可以提出替代解决方案吗?
class MyClass
{
template<class T>
void function1(T* arg1)
{
myList.add((void*)arg);
}
void function2()
{
for(int i = 0; i < myList.size(); i++)
{
myList.get(i);
//restore the original pointer type
}
}
STLinkedlist<void*> myList;
}