今天寫程序,將模板內的定義放在了.h文件中,而實現放在了.cpp中,
編譯通過了,可連接怎么也不能成功。。
查了一些書才知道,模板類的定義和實現必須放在同一文件,
《c++編程思想》中說:模板類定義很特殊,由template<...>定義的任何東西都意味著編譯器在當時不為它分配內存空間,它一直處于等待狀態,直到被一個模板實例告知,即模板參數是由編譯器來替換的。
為了容易使用,幾乎總是在頭文件中放置全部的模板聲明和定義。有時,也可能為了滿足特殊需要而要在獨立的cpp中放置模板的實現。但大部分現在的編譯器還不支持模板類的定義和實現分開