mein erstes Mal eine Frage, so die Daumen drücken.kann ich explizit spezialisieren std: shared_ptr :: operator ->
Ich mag eine Spezialisierung schaffen Shared_ptr :: operator-> Im folgenden wird nicht kompilieren auf gcc 4.8.3
template<>
widget* std::shared_ptr<widget>::operator->() const
{
return nullptr;
}
erhalte ich die folgenden Compiler-Fehler Fehler: keine Memberfunktion ‚operator- > 'in' std :: shared_ptr 'deklariert
Ich habe ein paar Variationen versucht, wie dies zu spezialisieren und ich bekomme immer den gleichen Fehler. B. es in einen Namespace std-Bereich zu verpacken, hat auch versucht, nachfolgende reutrn-Typen abzufahren, was es noexcept usw. macht.
Warum möchten Sie das tun? – NathanOliver
Ah, keine Probs, ich versuche, einige Vor-und Nachbedingungen mit intelligenten Zeigern zu schreiben. Ich kann sie mit einem handgeschriebenen intelligenten Zeiger, den ich selbst geschrieben habe, leicht genug arbeiten lassen, aber ich wollte sehen, ob ich einige der vorgebildeten verwenden könnte, z. STL oder Boost. – PMcK
Vielleicht werfen Sie einen Blick auf diese andere Frage: http://stackoverflow.com/questions/15876325/how-can-i-create-a-smart-pointer-that-locks-and-unlocks-a-mutex – Rerito