2016-07-25 68 views
0

我想知道如果你能帮我弄清楚我在这里做错了什么。我有如何为参数化类编写构造函数

public class SingleLinkedList<T> where T : IComparable 
{ 
    private class Node 
    { 
     public T Val; 
     public Node Next; 
    } 

    private Node _root = null; 

    /// <summary> 
    /// Initialize list from array 
    /// </summary> 
    /// <typeparam name="T"></typeparam> 
    public SingleLinkedList<T> (T[] arr) 
    { 

    } 

    // ... 

} 

和我的编译器不顺心(T[] arr)并说

无效令牌“(”类,结构或接口声明

什么是正确的语法在这里?

回答

1

从构造函数中删除类型参数,它暗示着:

public SingleLinkedList(T[] arr) 
{ 
} 
1

您不应该将<T>添加到您的构造函数定义中。

/// <summary> 
/// Initialize list from array 
/// </summary> 
/// <typeparam name="T"></typeparam> 
public SingleLinkedList(T[] arr) 
{ 

} 
2

删除泛型类型参数:

public SingleLinkedList (T[] arr) 
{ 

} 

类型参数是类声明的构造函数声明的不属于的一部分。构造函数的参数类型将是该类使用的类型。

相关问题