如何在主函数中使用模板类
问题描述:
我需要在我的主函数中使用模板类。这是因为我在我的主函数中引用了一个模板类。例如:如何在主函数中使用模板类
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
。然后它创建一个这种类型的对象。