概述

编译错误:

  1. 函数定义中,如果使用了一个自定义类型,则这个类型必须要定义(需要引入定义文件,不能用前置声明,否则会报内部错误)
  2. 无法使用模板参数“Index”,因为它跟随一个模板参数包,无法从“vecToTup2”的函数参数推导出来。这种问题,是说模板参数,必须要能够从参数推导出来,这个参数可以是模板参数列表中的参数,也可以是函数的形参。模板参数形参绑定实参,可以通过<>中提供显示的类型或非类型参数,也可以通过函数的形参传递。

连接错误:

静态变量、函数定义需要放到源文件,哪怕只有一个定义,否则会引起重定义问题。

  1. 重定义的变量问题,变量定义需要放到 cpp 文件,防止在反复包含头文件时候,引起重定义。
  2. 重定义的函数问题,函数定义也要放到 cpp 文件,防止在反复包含头文件时候,引起重定义
  3. 模板函数定义,需要跟头文件放一起(必须放一起)否则会导致连接时候找不到定义问题。
  4. 模板类中的非模版函数,定义仍需放在 cpp 文件中,防止模板实例化时候反复包含头文件,引起非模板函数的重定义问题。
最后修改日期: 24 2 月, 2025

作者

留言

撰写回覆或留言