«Неявное создание неопределенного шаблона» при прямом объявлении класса шаблона
у меня есть некоторый код, в котором мне нужно заранее объявить класс шаблона (или, по крайней мере, объявление вперед сделало бы мне намного проще ...). Я'мы написали упрощенную версию проблемы, которую яу меня есть, чтобы я мог отобразить это здесь:
template
class MyTemplateClass;
int main( int argc, char* argv[] )
{
MyTemplateClass myTemp; // error here
myTemp.GetTheValue();
return 0;
}
template
class MyTemplateClass
{
int m_myint;
float m_myfloat;
public:
MyTemplateClass() : m_myint(5), m_myfloat(3.0f) {}
float GetTheValue()
{
return m_myint * (bShouldMult ? m_myfloat : 1.0f);
}
};
Ошибка ям получаю по комментируемой строке это:
Error - implicit instantiation of undefined template 'MyTemplateClass'
Какие еще детали мне нужно включить в предварительное объявление MyTemplateClass? Так как ошибка нене идет со следующей строки вниз, яЯ предполагаю, что это не такт из-за того, что метод не определен. Компилятор яЯ использую это LLVM / CLang, и ям компилируется на Mac.