#include <iostream>
#include <memory>
template<typename T>
class Test: public std::enable_shared_from_this< Test<T> >
{
public:
std::shared_ptr< Test<T> > getMe()
{
return shared_from_this();
};
};
int main(int argc, const char * argv[])
{
Test<int> aTest;
return 0;
}
Quando provo a compilare questo su Xcode 5 ottengoenable_shared_from_this non funziona su Xcode 5
Use of undeclared identifier 'shared_from_this'
ho provato e il suo funzionamento su Visual Studio 2010.
Hai dimenticato di qualificarlo con 'std ::' così come 'std :: shared_from_this()'. –
No qui lo spazio dei nomi std è richiesto solo per l'estensione da enable_shared_from_this e nel tipo restituito della funzione getMe e sono già stati digitati. –
Plus shared_from_this è una funzione membro su enable_shared_from_this class. Sei sicuro di leggere la domanda? –