Exemple

int main(int argc, char* argv[])
{

fnc(std::tr1::shared_ptr<MyClass>(new MyClass));
 
}

void fnc2(std::tr1::shared_ptr<MyClass> mc){
}

Solution
Créez le pointeur smart dans sa propre instruction.


int main(int argc, char* argv[])
{

shared_ptr<MyClass> mc(new MyClass);
fnc( mc );
 
}

void fnc2(std::tr1::shared_ptr<MyClass> mc){
}