PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] template特化 link的问题
楼主:
lovejomi
(JOMI)
2020-06-16 00:25:18
标题下的很不好...
我不太知道怎么描述这问题
尝试google 没有办法找到答案
关键字 "template specialization" + "ODR" 或 "link" 之类的
https://wandbox.org/permlink/MBRv5lz1Bsz20ynW
问题出现在 main.cpp
这边有全特化 一个class和 一个 function
q.h 是 原版template class和function的定义
我刻意在q.cpp 呼叫 Serialize<Foo>();
这行 Serialize<Foo>(); 我原本预期他根本不知道main.cpp有特化他 所以要走
原版q.h的code 没想到他走特化版本...
这行为我真没办法理解 (但我认为就因为这样才能做到 扩充Serialize 自订type的方法)
请各位解释这边是什么概念 让q.cpp可以不需要看到宣告 就能找到定义
(全特化是这样, 偏特化我猜也是)
请顺便给我一些关键字
谢谢
作者:
loveme00835
(发箍)
2020-06-16 01:55:00
https://bit.ly/2Y4Z6I0
你不同的 translation unit 都有实体, 只是谁会盖掉谁是未定义的
楼主:
lovejomi
(JOMI)
2020-06-16 10:11:00
https://ideone.com/g3oRzg
还是不是很清楚这范例会有这error 但我的case他根本也没看到main.cpp的特化 宣告, 为什么却可以自己去找定义?
https://wandbox.org/permlink/VlRLdsCLbQm54U1L
刻意放在呼叫的后面定义...却还是可以 跟ideone的搞混了
继续阅读
Re: [问题] 双重指标
loveme00835
[问题] 双重指标
spong
[问题] polling function timer问题
howard6066
[问题] 二维阵列与指标疑惑
spong
[问题] clang:no such file or directory
LittleLie
[讨论] Dijkstra UVa-10986 [已解决]
darrenlee1
[问题] 关于互斥的问题
asdfg1597860
Re: [问题] cpp中if的==与=差别
loveme00835
[问题] cpp中if的==与=差别
HwangTW
[问题] 关于c的运算子优先权问题
ac01965159
Links
booklink
Contact Us: admin [ a t ] ucptt.com