※ 引述《leesun.bbs@cszone.cc.ntu.edu.tw (八方齋)》之銘言:
: ※ 引述《dright.bbs@snow.ice.ntnu.edu.tw (Artist de Comp)》之銘言:
: : 使用template時,並不能把其implement的方法寫成*.cpp
: : 因為其型態並無法確知
: : 所以不能compile成一個obj檔
: : 要implement一個template,直接寫在*.h就好了
: 可是我翻舊信的結果是 Compiler 版本的問題ㄟ...???
就算是用 VC++ 6.0 也一樣……
無論如何 template 在 compile 時 source 是一定要在的……
在 The C++ Programming Language 3rd edition 裡面有提到一個 keyword
"export" 可以用來將 template class 或 template function 的 definition
和 declaration 放在不同的檔案裡面,但是在 C++ standard 裡面似乎沒有這個
東西……反正目前似乎沒有任何 compiler 可以這樣做(某些新的東西可能可以)
目前的情形下,把它們寫在同一個檔案中 (.h 檔) 是最安全的方法。
--
※ 發信站: 批踢踢實業坊(ptt.twbbs.org)
◆ From: kimicat.m1.ntu.