Ошибка добавления класса из другого проекта в тех же решениях C ++

0

Я только начинаю писать код с C++, и я застрял, когда хочу добавить ссылку на класс из другого проекта из тех же решений. мой основной код, расположенный по адресу:

  1. InventoryAppDLL (содержит код для доступа к базе данных Sql)

  2. Класс: dbConnection.h

  3. Код:

    ref class dbConnection
    {
    public:
        dbConnection();
        void SetCommandText(String ^command,bool ^commandText);
        int ExecuteScalar();
        DataSet^ ExecuteDataSet();
        DataTable^ ExecuteDataTable();
    protected:
         ~dbConnection();
    
    private:
         DbConnection ^conn;
         DbCommand ^cmd;
         ConnectionStringSettings ^settings;
         DbProviderFactory ^fac;
    };
    

    после создания основного проекта (InventoryAppDLL) он был успешным и не содержит ошибок.

но после включения заголовка в другой проект (InventoryAppService), а затем я его создаю, он содержит ошибку:

    error C2143: syntax error : missing ';' before '^'

когда я ссылаюсь на ошибку, у меня отсутствует библиотека ConnectionStringSettings на dbConnectionClass (InventoryAppDLL).

    private:
         DbConnection ^conn;
         DbCommand ^cmd;
         ConnectionStringSettings ^settings; // <---
         DbProviderFactory ^fac;
    };
  • 0
    Может быть глупый вопрос ... Но вы включили .h файл для включенного класса в свой файл?
  • 0
    yupz..Я добавляю dbConnection.h в мой проект (InventoryAppService). А также я следую другому ответу из другого поста, чтобы добавить класс из других проектов из тех же решений (из свойств проекта).
Показать ещё 3 комментария
Теги:
reference
c++-cx

1 ответ

0

Я думаю, вам даже не нужно включать заголовочный файл. Поскольку вы уже добавили ссылку из проекта потребления в проект, содержащий этот класс, проект потребления может читать метаданные из проекта DLL, и вы можете просто сказать:

auto x = ref new dbConnection();
  • 0
    Вам все еще нужно видимое объявление, нет?
  • 0
    Что за декларация? Добавление ссылки настраивает потребительский проект, чтобы просто начать использовать типы из проекта DLL. Не требуется #include или #import в источнике.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню