#include <cmath>
#include <vector>
#include <iostream>
class V
{
std::vector<int> *ex_;
public:
V( std::vector<int>::size_type sz );
~V();
};
V::V( std::vector<int>::size_type sz ) : ex_ ( new std::vector<int>( sz ) )
{
// Why this doesn't work ??
std::cout<< "Ex size:" <<ex_->size() << std::endl;
}
V::~V()
{
delete ex_;
}
int main()
{
// This works
std::vector<int> *myVec = new std::vector<int>(10);
std::cout << "Vector size:" << myVec->size() << std::endl;
// Why this doesn't work ??
V v(myVec->size());
delete myVec;
return 0;
}
I2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8aW9zdHJlYW0+CgpjbGFzcyBWCnsKCXN0ZDo6dmVjdG9yPGludD4gKmV4XzsKCQoJcHVibGljOiAKCQlWKCBzdGQ6OnZlY3RvcjxpbnQ+OjpzaXplX3R5cGUgc3ogKTsKCQl+VigpOwp9OwoKVjo6Viggc3RkOjp2ZWN0b3I8aW50Pjo6c2l6ZV90eXBlIHN6ICkgOiBleF8gKCBuZXcgc3RkOjp2ZWN0b3I8aW50Piggc3ogKSApCnsKCS8vIFdoeSB0aGlzIGRvZXNuJ3Qgd29yayA/PwoJc3RkOjpjb3V0PDwgIkV4IHNpemU6IiA8PGV4Xy0+c2l6ZSgpIDw8IHN0ZDo6ZW5kbDsKfQoKVjo6flYoKQp7CglkZWxldGUgZXhfOwp9CgppbnQgbWFpbigpCnsKICAvLyBUaGlzIHdvcmtzCQogIHN0ZDo6dmVjdG9yPGludD4gKm15VmVjID0gbmV3IHN0ZDo6dmVjdG9yPGludD4oMTApOwogIHN0ZDo6Y291dCA8PCAiVmVjdG9yIHNpemU6IiA8PCBteVZlYy0+c2l6ZSgpIDw8IHN0ZDo6ZW5kbDsKCiAgLy8gV2h5IHRoaXMgZG9lc24ndCB3b3JrID8/CiAgViB2KG15VmVjLT5zaXplKCkpOwogIGRlbGV0ZSBteVZlYzsKICByZXR1cm4gMDsKfQ==