kan*_*nso 2 c++ casting shared-ptr
我收到这个编译错误:
error: invalid conversion from 'const MyClass*' to 'MyClass*'
Run Code Online (Sandbox Code Playgroud)
这是代码:
std::tr1::shared_ptr<MyClass> myClassA;
const MyClass* myClassB;
myClassA = std::tr1::shared_ptr<MyClass>(myClassB); // error here
Run Code Online (Sandbox Code Playgroud)
我想我理解错误,只是不知道如何解决.我需要myClassB是一个const,所以如何将classB转换/复制到shared_ptr?
你需要一个指向const对象的共享指针:
std::tr1::shared_ptr<const MyClass> myClassA;
^^^^^
Run Code Online (Sandbox Code Playgroud)