Instance.h:
Код: Выделить всё
template
class Instance {
public:
string getName() const {
return instance->getName();
}
private:
T instance;
}
Код: Выделить всё
#include "Instance.h"
class Layer {
public:
void method() {
instance.getName();
}
string getName() const {
return "";
}
private:
Instance instance;
}
Я могу решить эту проблему, поместив реализацию getName() в файл Instance.cpp и это внизу:
Код: Выделить всё
template class Instance;
Это то, что нужно? единственное решение (если не считать удаления ссылки на экземпляр внутри слоя) или есть какой-то другой ответ, не требующий специализации?
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/786 ... fined-type