Using declarations for class and using directives are supported however. Doxygen does not work properly if there are multiple classes, structs or unions with the same name in your code. It should not crash however, rather it should ignore all of the classes with the same name except one. Some commands do not work inside the arguments of other commands. The sectioning commands are an important exception.
Redundant braces can confuse doxygen in some cases.
For a part this is because the code parser isn't smart enough at the moment. I'll try to improve this in the future. But even with these improvements not everthing can be properly linked to the corresponding documentation, because of possible ambiguities or lack of information about the context in which the code fragment is found. There is only very limited support for member specialization at the moment. It only works if there is a specialized template class as well.