Is something like this possible? (I'm leaning towards not, but I just thought I'd make sure...)
The code:
class Base {
};
class Derived : public Base {
};
int main(int argc, char* argv[]) {
boost::shared_ptr<Base> b(new Derived);
boost::shared_ptr<Derived> d(b); // line 25
}
With compiler errors for it:
C:\code_utils\boost-1_34_1\boost\shared_ptr.hpp||In constructor `boost::shared_ptr<T>::shared_ptr(const boost::shared_ptr<Y>&) [with Y = Base, T = Derived]':|
C:\Documents and Settings\Matthew\My Documents\My C++ Projects\testing\toroidalarray\toroidalarray.cpp|25|instantiated from here|
C:\code_utils\boost-1_34_1\boost\shared_ptr.hpp|195|error: invalid conversion from `Base* const' to `Derived*'|
||=== Build finished: 1 errors, 0 warnings ===|