C++ 中的模板
Templates in c++
本文关键字:C++ 更新时间:2023-10-16
可能的重复项:
如何编译位于C++不同文件中的模板?
我想制作一个带有成员函数模板的类模板。
如果我以内联方式编码(我声明它的地方),它可以正常工作,但是如果我想对其进行概述编码(如下面的示例),我会收到一个错误,说"'示例::func':无法将函数定义与现有声明匹配"
template <typename T>
class Example {
public:
template <typename F>
void func(F &f);
};
template <typename T, typename F>
void Example<T>::func(F &f) {
//My code
}
不过,如果此函数位于头文件中,则可能需要将其内联。 否则,您可能会收到重复的符号错误。
template <typename T> template <typename F>
void Example<T>::func(F &f) {
//My code
}
定义模板类的模板成员的正确格式如下:
template <typename T> template <typename F>
void Example<T>::func(F &f) {
//My code
}
template <typename T>
template <typename F>
void Example<T>::func(F &f) {
//My code
}
Example
类只有一个模板参数T
。
看看这里。我刚刚回答了一个关于模板显式实例化的问题。您应该能够找到更多关于SO的问题。
相关文章:
- 没有找到相关文章