Is there a way to figure out what is causing me to get an error message that says: "error: `obj' has incomplete type" The full error message is: ../../src/data_source/File_Data_Transfer_T.cpp: In member function `const typename Data_Type::ptr kurt::data_source::File_Data_Transfer<Data_Type>::get() [with Data_Type = kurt::data_types::Group_Seq]': Event_Filter.cpp:314: instantiated from here ../../src/data_source/File_Data_Transfer_T.cpp:78: error: `obj' has incomplete type ../../src/data_source/File_Data_Transfer_T.cpp:78: error: storage size of `obj' isn't known Line 314 in Event_Filter.cpp is the end of the namespace containing the defintions for Event_Filter class. Line 78 of File_Data_Transfer_T.cpp is the place where I try to use a typename: typename Data_Type::worker_type obj (new Data_Type()); Is there a compiler flag that I should use? Here are the flags I am using: g++ -DHAVE_CONFIG_H -I. -I. -I../../src -march=pentium3 -Wpointer-arith -gdwarf-2 -g3 -O0 -W -Wall -fno-inline -ftemplate-depth-120 -c Event_Filter.cpp -MT Event_Filter.lo -MD -MP -MF .deps/Event_Filter.TPlo -fPIC -DPIC -o .libs/Event_Filter.o Stephen