> Same visibility change needed here. The same holds true for sCatalog > and > sCatalogInitOnce, though I would simply pull them out of the class > scope and > make them compilation unit local (i.e. "static"). Is it really needed ? The linking will fail anyway if Getcatalog() is not visible, so there should be no need to hide the others too. Also, the initOnce and the catalog itself are private to the class, so they aren't visible anyway. Why is this class giving you problems ? Moving the members out of it would make the namespace more polluted (4 identifiers instead of only the class name), and I don't see what problem it could solve ... -- Adrien