Noms de type dans la portée de classe
Les noms de types définis dans la portée de la classe sont considérés comme étant locaux à leur classe. Ils ne peuvent pas être utilisés en dehors de cette classe. L'exemple suivant illustre ce concept :
// type_names_in_class_scope.cpp
// C2146 expected
class Tree {
public:
typedef Tree * PTREE;
PTREE Left;
PTREE Right;
void *vData;
};
PTREE pTree; // not in class scope