Include the standard header <ccomplex> to define the macros that are traditionally defined in the Standard C library header <complex.h>. Including this header also ensures that names that are declared with external linkage in the Standard C library header are declared in the std namespace. In this implementation, the names might or might not also be declared in the global namespace, depending on the specific translation environment.

#include <ccomplex>

The name clog, which is declared in <complex.h>, is not defined in the std namespace because of potential conflicts with the clog that is declared in <iostream>.