我試圖做folllowing: 類定義.h文件:模板規範問題
template<int Size>
class Sculptor
{
public:
Sculptor();
~Sculptor(void) ;
void Sculp(SculptData* sculpData);
void ToShape(Shape* shape);
int CalculateMesh();
unsigned char sculpture[Size][Size][Size];
}
類定義的cpp文件來塑造功能(所有其他人都一樣):
template<int Size>
void Sculptor<Size>::ToShape(Shape* shape){}
使用:
Sculptor<16> sclupt;
Shape shape;
SculptData* data = CreateCircle();
sclupt.Sculp(data);
sclupt.CalculateMesh();
sclupt.ToShape(&shape);
我得到以下錯誤
你能告訴我問題的根源嗎?
是這樣的情況:http://www.parashift.com/c++-faq-lite/templates.html#faq-35.13? – Flexo
從cpp文件編輯添加的例子 –
準確地說 - 它可能在不同的cpp文件中,所以從不在輸出中實例化。 – Flexo