如何解决在C ++中,当模板参数未出现在以下类或函数声明中时,它有什么用?
很多次我看到这些类型的代码。
下面的代码中模板的用途是什么?
我问这是因为模板参数T
没有出现在声明中。
template <typename T>
struct op_pointer_to_mat;
template <typename T>
struct op_pointer_to_col_vect;
这是否意味着op_poineter_to_mat
和op_pointer_to_col_vect
的定义位于模板参数为T
的其他地方?
解决方法
这称为转发声明。该类必须在以后的某个位置完全声明。可以是相同的文件,也可以是不同的头。它只是让编译器知道名称Test
是有效的,以后将填充空白。
template<typename Type>
class Test;
template<typename Type>
class Test
{
public:
Type valueFor() { }
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。