我有以下简单的课程

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;
}


但是编译器抱怨 gcnew T()不能用于泛型类型
auto键使用错误,因为功能expects a trailing return type

最佳答案

谢谢您的阅读和回复

我忘了这个
where T:IDbConnection, gcnew()
与C#泛型完全相同

摆脱如上所述的gcnew错误。

10-08 11:50