Wouldn't be simpler/clearer to 'only' return the result in the vector.   Currently if the result is 'zero' it might mean 'no class' or 'multiple class'.   
I recommend the following simpler interface:
   bool GetClass(DeclId_t id, std::vector<TClass*>& classes)

(Since load and silent are not used, at least for now, I don't see a reason to introduce them)
If you still with to have them to look like the other GetClass, then suppress the warning with Bool_t /* load */
(To support GetClass(declid, vec, kTRUE /* load */) we will need to generate the name and call GetName(const char *) )