我有以下简单的类
generic<typename T> where T:IDbConnection ref class CDbConnection
{
private:
IDbConnection^m_db;
ConnectionState^ m_originalConnState;
public:
CDbConnection();
bool Connect(String ^ connStr);
bool Exists(int id);
auto GetAllData(String^ tableStr);
~CDbConnection();
!CDbConnection();
};
这是我的构造函数
generic<typename T> CDbConnection<T>::CDbConnection()
{
m_db=gcnew T();
m_originalConnState=m_db->State;
}
但是编译器提示 <1> gcnew T() 不能用于泛型类型
<2> auto
键在使用中是错误的,因为函数需要尾随返回类型
最佳答案
感谢您的阅读和回复
我忘记了
其中 T:IDbConnection, gcnew()
这与 C# 泛型完全相同
如上所述消除 gcnew
错误。
关于c++ - 通用类型的 gcnew 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15740228/