Oracle Solaris Studio 12.2:C++ 用户指南

7.5.1 源文件位置约定

如果没有随选项文件一起提供的特定方向,则编译器使用 Cfront 样式的方法来定位模板定义文件。此方法要求模板定义文件包含的基名与模板声明文件包含的基名相同。此方法也要求模板定义文件位于当前 include 路径中。例如,如果模板函数 foo() 位于 foo.h 中,匹配的模板定义文件应该命名为 foo.cc 或某些其他可识别的源文件扩展名(.C.c.cc.cpp.cxx.c++)。模板定义文件必须位于常规的 include 目录之一中,或位于与其匹配的头文件所在目录中。