关于模板实例化的几个问题

wswqwps wswqwps 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
1:在c++ primer3 423页说:在显示实例化声明所在的文件中,函数模板的定义必须被给出。

我写了下面的代码:

//model.h
template<class T>
T sum_T(T a,T b){return 0;}

//main.cpp
#include "model.h"

//explicit instantiation declare
template int* sum_T<int*>(int* ,int*);

int main(){return 0;}

模板函数定义在头文件里,按它的说法,int显示实例化出现在main.cpp里,应该会编译错误的,但是编译通过没警告。



2:同样在这页,说:对于给定的函数模板实例,显式实例化声明在一个程序中只能出现一次。我又加上一个other.cpp
//other.cpp
#include "model.h"
template int* sum_T<int*>(int* ,int*);

和main.cpp里的已经重复了,但是编译链接都没有错误。甚至在main.cpp里直接再加上一个template int* sum_T<int*>(int* ,int*);也不会有问题。



3.另外请教一下,template int* sum_T<int*>(int* ,int*);
如果写成

template int* sum_T(int* ,int*);
template int* sum_T<int*>(int*);
template int* sum_T();
template int* sum_T<int*>();
编译都没错误,警告说
no function template defined that matches forced instantiation
这会导致出什么问题么?

...全文

相关推荐

Microsoft.WinDbg-1.2610.1001.0-x64

Microsoft.WinDbg-1.2610.1001.0-x64

CSUer丶夜神゛

Claude 代码超强能力:核心技能库

Superpowers 是一套面向你的编码智能体的完整软件开发方法论,由一组可组合技能和若干初始指令构建而成,用以确保智能体真正使用这些技能。

yiersansiwu123d

PDF发票内容提取排版并结构化导出xlsx/cvs嵌入式ptyhon

【本地发票提取工具】 核心优势:不依赖传统粗糙 OCR,基于文字排版结构进行精准提取。仅“税网”下载及税网邮件发送的原版 PDF 发票(开票软件发送的不太支持)能实现开票明细级的秒级本地提取,告别只能提抬头、总额的尴尬。 可免费试用 3 天! 【用前须知】 去微软官网下载VC_redist.x64.exe运行修复运行库(必要的前置操作),之后再解压本工具rar,运行本exe即可。 VC_redist.x64.exe官网永久下载地址 https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist 【安全须知】 个人开发暂未做代码签名,杀软可能会有误报拦截。遇到拦截请在杀软中添加信任/白名单即可。 VirusTotal扫描结果 2/61,主流杀软均通过,个别引擎因无签名误报。官网 virustotal.com 点击页面中间显眼的 “Choose file”(选择文件)按钮上传扫描。

信人远邮168

Flask校园二手交易平台课设

这是一份基于 Flask + SQLite 的校园二手交易平台课程设计完整资料,包含实验报告(Markdown、HTML、PDF 三种格式)、全部 Python 源码、8 个 Jinja2 页面模板、5 张运行截图、答辩 PPT。学生注册账号后发布闲置物品,同校同学按分类翻、按关键词搜,看中了在详情页留言咨询,管理员能下架违规商品。不接支付不做物流,买卖双方线下交易,平台只负责信息展示和沟通,一个学期课设能做完。 系统功能:用户注册登录登出,session 维持登录态;发布商品填标题、描述、价格、选六类分类,图片可选上传不强制;首页卡片网格展示在售商品,顶部搜索框按标题描述模糊匹配,下方分类按钮筛选,搜索和筛选可组合;商品详情页展示大图、完整描述、卖家昵称,登录用户能留言咨询;我的发布页能看自己挂过的所有商品并删除;管理员后台能看全部商品,一键下架违规品或恢复在售。 几个值得参考的实现点:密码用 Werkzeug 哈希加盐存储;登录接口不区分"用户不存在"和"密码错误",防枚举用户名;图片上传限制后缀和 2MB,文件名随机串重命名,防覆盖和传脚本;分类和搜索筛选组合用动态拼 SQL;首次启动自动建表写管理员账号;Bootstrap 5 栅格,手机浏览器也能看。 适合正在做 Web 课程设计、Python 后端入门的学生,以及想学习"Flask 蓝图 + SQLite + 登录鉴权 + 文件上传"完整小项目的自学者。拿到手后 cd src,pip install -r requirements.txt,python app.py,浏览器开 http://127.0.0.1:5000 即可,管理员账号 admin/admin123,普通用户自行注册。

小鹿( ﹡ˆoˆ﹡ )

《低秩加稀疏模型的高效动态平行MRI重建.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

海神之光
评论 10
收藏 已收藏
分享
返回顶部
wswqwps
C++ 语言 65,214 成员 250,514 内容