c++ - 通用类型的 gcnew 运算符

标签 c++ c++-cli

我有以下简单的类

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/

相关文章:

c++ - CLI 到 native 字节数组的转换

android - super 记录器 : not creating temp file or recording any audio

c++ - 在 Visual Studio for C++ 中分析 dll 加载条件的最佳工具

c++ - 将字符串列表从 C# 发送到 C++ 会导致错误

visual-c++ - 从 C++-CLI 中的指针函数返回多维数组

c++ - 允许托管环境中的托管代码回调非托管代码

visual-studio - 这个奇怪的语法是什么意思

c++ - 使用核心转储从崩溃中恢复

c++ - 未命名/匿名命名空间与静态函数

c++ - 从大 vector 中删除第一个元素的最有效方法是什么?