Errors misusing union member are expressions that refer the value of a union variable with different type from the type of the value. A program with errors misusing union member may occur runtime errors or may return inappropriate results. An analyzer for detecting errors misusing union member is required because the existing compilers in C/C++ does not handle those. In this paper we propose an idea that detects those errors. The proposed method detects errors misusing union member using type annotation and type expressions that compute the types of union members.