Я только начинаю писать код с C++, и я застрял, когда хочу добавить ссылку на класс из другого проекта из тех же решений. мой основной код, расположенный по адресу:
InventoryAppDLL (содержит код для доступа к базе данных Sql)
Класс: dbConnection.h
Код:
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;
};
Я думаю, вам даже не нужно включать заголовочный файл. Поскольку вы уже добавили ссылку из проекта потребления в проект, содержащий этот класс, проект потребления может читать метаданные из проекта DLL, и вы можете просто сказать:
auto x = ref new dbConnection();