I have to use an API provided by a DLL with a header like this
namespace ALongNameToType { class ALongNameToType { static void Foo(); } }
I don't know what's ambiguous, but you can avoid all conflicts with other Foo functions like this:
namespace ALongNameToType { struct ALongNameToType { static void Foo(); }; } typedef ALongNameToType::ALongNameToType Shortname; int main() { Shortname::Foo(); }