Проблемы с объявлением классов и пространства имен - PullRequest
0 голосов
/ 10 мая 2011

Я объявляю такой класс:

#include "BindableInterface.h"
#include "../LuaHelper.h"

#include <map>
#include <string>

namespace utils{
    class CLuaHelper;
};

namespace zel{
    namespace utils{

        class CAPIBindManager
        {
            typedef std::map<std::string, CBindeableInterface*> t_exposedClassMap;
            t_exposedClassMap m_classesToExpose;
            utils::CLuaHelper* m_luaHelper;
        public:
            bool exportClasses(const unsigned char* data);
            bool executeLuaChunk(const std::string fileName, const std::string funtionName);
            bool addClassToExpose(CBindeableInterface* bindableInterface, const std::string alias);
            CAPIBindManager(void);
            ~CAPIBindManager(void);
        };
    };
};

Но я получил ошибку компиляции, что CLuaHelper не является членом zel :: utils. CLuaHelper объявлен как utils :: CLuaHelper (без zel) Как мне нужно объявить этот класс. AFAIK, предварительная декларация может решить эту проблему

Есть идеи ??

1 Ответ

5 голосов
/ 10 мая 2011

Используйте ::utils::CLuaHelper, чтобы различать два utils пространства имен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...