Message In this declaration, "<name>" appears to be used as if it named a type, but there is no declared type of that name visible. Description The compiler has encountered what appears to be a typedef declaration that provides a new name for an existing type, but the identifier used to specify the existing type is not the name of a type that is visible. User Action Declare the identifier for the first type, or correct its spelling.