Есть такой кусок кода, помогитье праельно указать компилятору, что template<class T> class B существует ниже по коду.
// Так неработаетclass B;
// И так неработаетtemplate<class T> class B;
class A
{
public:
void f()
{
B<int> b;
}
};
template<class T>
class B : public A
{
};
Здравствуйте, <Аноним>, Вы писали:
А>Есть такой кусок кода, помогитье праельно указать компилятору, что template<class T> class B существует ниже по коду.
// А разве не тут?
А>>class A
А>>{
А>>public:
А>> void f()
А>> {
КЛ>А> B<int> b; // тут у тебя POI - point of instantiation
А>> }
А>>};
А>>
КЛ>Дополню к сообщению quodum.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Константин Л., Вы писали:
КЛ>имхо, не там
А тут объекты b1 и b2 одного типа?
// А разве не тут?class A
{
public:
void f()
{
B<int> b1; // тут у тебя POI - point of instantiation
}
};
B<int> b2; // статический объект
Для выяснения того одного типа они или нет, можно, например, спросить у каждого адрес какого-нибудь статического поля...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском