ChangesMeaningOf is an error message from GnuCpp which arose when changes after version 4.1.2 broke code which had previously worked. This is best illustrated with an example. I came across this while working with BoostFusion. -- JohnFletcher ---- '''Example code''' namespace Z { template struct A { }; } using Z::A; template struct B { #ifdef FAILS typedef A A; // Fails to compile with gcc 4.3.0 20070323 //generic_test.cpp:13: error: declaration of 'typedef struct Z::A B::A' //generic_test.cpp:4: error: changes meaning of 'A' from 'struct Z::A' // Does not fail with gcc 4.1.2 #else typedef Z::A A; #endif }; ---- The solution to the problem is to use the qualified name '''Z::A''' in the typedef. ---- CategoryCpp CategoryCppTemplates