[問題] template一問:complier不會顯示error
最近在學怎麼用template
我用的環境是Visual Studio 2005 SP1
剛剛偶然發現了一個問題
我總共用了三個檔案"A.cpp" "A.h" "A.inl"
然後故意在"A.h"以及"A.inl"裡留下了語法錯誤的程式碼(都沒加";")
可是當我編譯A.cpp時,居然卻編譯通過沒有顯示complier error出來
我的程式碼大概長下面這個樣子,請問有人可以告訴我這是為什麼嗎?謝謝~
in file A.h
template<typename T>
class classA
{
public:
classA(){}
~classA(){}
void Init1(size_t uSize = 0)
{
m_Vector1.reserve(uSize) // error 1 : 沒加";"
}
void Init2(size_t uSize = 0);
void Init3(size_t uSize = 0);
private:
protected:
std::vector<T*> m_Vector1;
std::vector<T*> m_Vector2;
std::vector<T*> m_Vector3;
};
template<typename T> void classA<T>::Init2(size_t uSize)
{
m_Vector2.reserve(uSize) // error 2 : 沒加";"
}
#include "A.inl"
in file A.inl
template<typename T> void classA<T>::Init3(size_t uSize)
{
m_Vector3.reserve(uSize) // error 3 : 沒加";"
}
in file A.cpp
// Do nothing, just include A.h
#include "A.h"
--
世界上最難發現的
是遺落在沙漠中的一根針?
世界上最難發現的
是黑夜裡落下的烏鴉羽毛?
世界上最難發現的
是自己的誤解
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.139.157
※ 編輯: darkhcv 來自: 220.128.139.157 (04/09 17:09)
※ 編輯: darkhcv 來自: 220.128.139.157 (04/09 17:13)
推
04/09 18:07, , 1F
04/09 18:07, 1F
→
04/09 18:08, , 2F
04/09 18:08, 2F
推
04/09 19:53, , 3F
04/09 19:53, 3F
→
04/09 19:53, , 4F
04/09 19:53, 4F
→
04/09 19:54, , 5F
04/09 19:54, 5F
→
04/09 20:17, , 6F
04/09 20:17, 6F
推
04/09 20:44, , 7F
04/09 20:44, 7F
→
04/09 21:30, , 8F
04/09 21:30, 8F
→
04/09 21:32, , 9F
04/09 21:32, 9F
推
04/09 21:54, , 10F
04/09 21:54, 10F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章