A pointer is said to be opaque if the definition of the type to which it points to is not included in the current trAnswerlation unit. A trAnswerlation unit is the result of merging an implementation file with all its headers and header files..