hi i don't find any docs about that issue, so i ask it here: the usual approach to work with templates and separated interface and implementation is as follows (i hope): x.hpp: template<class a> void foo(std::string xxx); #include "x_impl.hpp" x_impl.hpp: template<class a> void foo(std::string xxx) { string bla = xxx + "sdjkfh"; // <-- no std:: here !!!! cout << bla; } usually in normal non-template coding style i can do using namespace std; on the top of each .cpp file. but now i cannot do it, because it is actually in a header file and i don't want to include another namespace in the interface definition. how can i solve the problem? i don't want to write "using namespace std" at the beginning of every template function declaration, but only once per implementation file. cu & thx erik -- Erik Thiele