2016-07-25 78 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) 
{ 

} 

類型參數是類聲明的構造函數聲明的不屬於的一部分。構造函數的參數類型將是該類使用的類型。

相關問題