#include <iostream>
#include <string>
using namespace std;
template <class T1>
class TypeSize {
public:
TypeSize(T1 value) {
this->value = value;
}
void DataTypeSize() {
cout << "value size is " << sizeof(T1) << endl;
}
private:
T1 value;
};
template <class T1>
class TypeInfo : public TypeSize<T1> {
public:
TypeInfo(T1 value) : TypeSize<T1>(value) { //<<<<<<< Ошибка!
}
};
int main() {
int a = 2;
TypeInfo<int> c(a);
c.DataTypeSize();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGUgPGNsYXNzIFQxPgpjbGFzcyBUeXBlU2l6ZSB7CnB1YmxpYzoKICAgIFR5cGVTaXplKFQxIHZhbHVlKSB7CiAgICAgICAgdGhpcy0+dmFsdWUgPSB2YWx1ZTsKICAgIH0KICAgIHZvaWQgRGF0YVR5cGVTaXplKCkgewogICAgICAgIGNvdXQgPDwgInZhbHVlIHNpemUgaXMgIiA8PCBzaXplb2YoVDEpIDw8IGVuZGw7CiAgICB9CnByaXZhdGU6CiAgICBUMSB2YWx1ZTsKfTsKCnRlbXBsYXRlIDxjbGFzcyBUMT4KY2xhc3MgVHlwZUluZm8gOiBwdWJsaWMgVHlwZVNpemU8VDE+IHsKcHVibGljOgogICAgVHlwZUluZm8oVDEgdmFsdWUpIDogVHlwZVNpemU8VDE+KHZhbHVlKSB7ICAgICAgICAgICAgICAgICAvLzw8PDw8PDwg0J7RiNC40LHQutCwIQoKICAgIH0KfTsKCgppbnQgbWFpbigpIHsKCiAgICBpbnQgYSA9IDI7CiAgICBUeXBlSW5mbzxpbnQ+IGMoYSk7CiAgICBjLkRhdGFUeXBlU2l6ZSgpOwoKICAgIHJldHVybiAwOwp9