Are there any pitfalls of putting a typedef inside a class if the typedef uses the class it is in as a parameter?
#include <memory>
class Foo{
public:
typedef std::shared_ptr<Foo> shared_ptr;
}
void main(){
Foo x;
Foo::shared_ptr p = std::make_shared<Foo>();
}
The above code works for me (clang) but I was wondering if the standard had anything to say about it.