The following code produces wrong entries in the members combo. Functions which exist with different signatures are placed outside the namespace.
#include <string>
#include <vector>
namespace A
{
namespace B
{
namespace C
{
class MyClass
{
public:
MyClass(LPCSTR pName, int n=1);
MyClass(const std::string& name, int n=1);
~MyClass(void);
void Name(LPCSTR);
void Name(const std::string&);
const std::string& Name() const;
void Weight(int);
int Weight() const;
private:
std::string m_szName;
int m_nWeight;
};
typedef std::vector<MyClass> vecMyClass;
typedef vecMyClass::iterator vecMyClassI;
typedef vecMyClass::const_iterator vecMyClassCI;
} // namespace C
} // namespace B
} // namespace A
Watch for Name(const std::string&) and the second ctor. They are shown outside the namespaces.