У меня есть шаблон (
Код: Выделить всё
tl1Код: Выделить всё
tl2, поэтому моя цель состоит в том, чтобы не компилировать, если составной объект не является полученным tl2 , а если Typename d не является полученным TL1
. Следующий пост. class = "lang-c ++ prettyprint-override">
Код: Выделить всё
#include
#include
#include
template
class tl2 ;
template
class tl1 {
private:
static_assert(std::is_base_of::value, "T should inherit from tl2");
std::list mTs ;
tl1() {} ;
friend D ;
public:
T & getTbyName() const ;
};
template
class tl2 {
//static_assert(std::is_base_of::value, "D should inherit from Database");
public:
std::string getName() { return mName ; }
private:
C & mC ;
std::string mName ;
};
class cl1 ;
class cl2 : public tl2 {
};
class cl1 : public tl1 {
};
Код: Выделить всё
class cl1 : public tl1 {
cl1() {}
};
Спасибо за время снова.
Подробнее здесь: https://stackoverflow.com/questions/356 ... omposition
Мобильная версия