如何在主函数中使用模板类

问题描述:

我需要在我的主函数中使用模板类。这是因为我在我的主函数中引用了一个模板类。例如:如何在主函数中使用模板类

LinkedListInterface<T> * linkedList = new LinkedListInterface<T>*; 

所以我试图把上面的模板声明“诠释的main()”

template<typename T> 
int main() 

但后来我得到了链接错误,因为它不再承认这是一个主要功能。我尝试了一些工作,比如做一个完成所有事情的函数,但是那个函数必须是模板类,所以我仍然不能从main调用它。一些帮助将不胜感激。谢谢。

`

这是不可能的模板来,但我不认为你要做到这一点。

当你使用模板,你可以这样做:

LinkedListInterface<int> *linkedList = new LinkedListInterface<int>(); 

有很多糟糕的问题:

编译器无法区分模板函数实例无论如何,因为它不能告诉main<int>main<whatever>之间的差异,因为它们不是模板函数签名的一部分。

正如其他答案所指出的,main不能是模板。

main不能作为函数模板;它必须是一个功能。内main使用类模板,你必须提供所有必需的模板参数与对象声明实例化模板:

LinkedListInterface<int> linkedList; 

这告诉编译器从类模板LinkedListInterface其中第一个模板创建一个类参数是类型int。然后它创建一个这种类型的对象。