1

コードで次のエラーが発生します。私はC++に非常に錆びていますが、何が間違っているのかわかりません。

エラーメッセージ:

Error: Field has incompatible type 'int []'   

コード:

template<typename Comparable> class OrderedCollection
{         
private:
    Comparable data[];  //ERROR CAUSED BY THIS LINE
    int _size;
    int _current;
    const int MAX_SIZE = 100;
4

2 に答える 2

1

const配列サイズを指定する必要があります。配列サイズはコンパイル時に認識されている必要があります。

このようなものは修正する必要があります:

  Comparable data[MAX_SIZE]; 
于 2013-02-05T04:34:39.830 に答える
1

これに対する考えられる修正は、size_tを受け入れる2番目のテンプレートパラメータを使用することです。

template<typename Comparable, size_t MAX_SIZE = 100> class OrderedCollection
    {

    private:
        Comparable data[MAX_SIZE];  //Error should be gone
        int _size;
        int _current;
于 2013-02-05T04:50:32.883 に答える